当前位置:首页 » 编程语言 » php数据操作类

php数据操作类

发布时间: 2022-09-08 12:30:12

php数据库操作类中的$sql语句是什么语句

这个不用实例化

你只要实例化了数据库类就行了

我读了你这个类,$sql在里面应该是SQL语句的意思,$sql只是类里面的形式参数。
实际你只要传递一个值进去就行了。

比如:
<?php
$db=new mysql('localhost','root','','test','')
//实例化mysql类。第五参数我看不懂,可能这类有点小问题的
$db->query("select * from test");
//访问query函数,参数select * from test
.....
?>
这个类不好。我给你一个把:
<?php
class mysql{

private $db_host; //数据库主机
private $db_user; //数据库用户名
private $db_pwd; //数据库用户名密码
private $db_database; //数据库名
private $conn; //数据库连接标识;
private $result; //执行query命令的结果资源标识
private $sql; //sql执行语句
private $row; //返回的条目数
private $coding; //数据库编码,GBK,UTF8,gb2312
private $bulletin = true; //是否开启错误记录
private $show_error = true; //测试阶段,显示所有错误,具有安全隐患,默认关闭
private $is_error = false; //发现错误是否立即终止,默认true,建议不启用,因为当有问题时用户什么也看不到是很苦恼的

/*构造函数*/
function __construct($db_host,$db_user,$db_pwd,$db_database,$conn,$coding){
$this->db_host=$db_host;
$this->db_user=$db_user;
$this->db_pwd = $db_pwd;
$this->db_database=$db_database;
$this->conn=$conn;
$this->coding=$coding;
$this->connect();
}

/*数据库连接*/
function connect()
{
if($this->conn=="pconn"){
//永久链接
$this->conn=mysql_pconnect($this->db_host,$this->db_user,$this->db_pwd);
}else{
//即使链接
$this->conn=mysql_connect($this->db_host,$this->db_user,$this->db_pwd);
}

if(!mysql_select_db($this->db_database,$this->conn)){
if($this->show_error){
$this->show_error("数据库不可用:",$this->db_database);
}
}
mysql_query("SET NAMES $this->coding");
}

/*数据库执行语句,可执行查询添加修改删除等任何sql语句*/
function query($sql)
{
if($sql == ""){
$this->show_error("sql语句错误:","sql查询语句为空");}
$this->sql = $sql;

$result = mysql_query($this->sql,$this->conn);

if(!$result){
//调试中使用,sql语句出错时会自动打印出来
if($this->show_error){
$this->show_error("错误sql语句:",$this->sql);
}
}else{
$this->result = $result;
}
return $this->result;
}

/*创建添加新的数据库*/
function create_database($database_name){
$database=$database_name;
$sqlDatabase = 'create database '.$database;
$this->query($sqlDatabase);
}

/*查询服务器所有数据库*/
//将系统数据库与用户数据库分开,更直观的显示?
function show_databases(){
$this->query("show databases");
echo "现有数据库:".$amount =$this->db_num_rows($rs);
echo "<br />";
$i=1;
while($row = $this->fetch_array($rs)){
echo "$i $row[Database]";
echo "<br />";
$i++;
}
}

//以数组形式返回主机中所有数据库名
function databases()
{
$rsPtr=mysql_list_dbs($this->conn);
$i=0;
$cnt=mysql_num_rows($rsPtr);
while($i<$cnt)
{
$rs[]=mysql_db_name($rsPtr,$i);
$i++;
}
return $rs;
}

/*查询数据库下所有的表*/
function show_tables($database_name){
$this->query("show tables");
echo "现有数据库:".$amount = $this->db_num_rows($rs);
echo "<br />";
$i=1;
while($row = $this->fetch_array($rs)){
$columnName="Tables_in_".$database_name;
echo "$i $row[$columnName]";
echo "<br />";
$i++;
}
}

/*
mysql_fetch_row() array $row[0],$row[1],$row[2]
mysql_fetch_array() array $row[0] 或 $row[id]
mysql_fetch_assoc() array 用$row->content 字段大小写敏感
mysql_fetch_object() object 用$row[id],$row[content] 字段大小写敏感
*/

/*取得结果数据*/
function mysql_result_li()
{
return mysql_result($str);
}

/*取得记录集,获取数组-索引和关联,使用$row['content'] */
function fetch_array()
{
return mysql_fetch_array($this->result);
}

//获取关联数组,使用$row['字段名']
public function fetch_assoc()
{
return mysql_fetch_assoc($this->result);
}

//获取数字索引数组,使用$row[0],$row[1],$row[2]
function fetch_row()
{
return mysql_fetch_row($this->result);
}

//获取对象数组,使用$row->content
function fetch_Object()
{
return mysql_fetch_object($this->result);
}

//简化查询select
function findall($table)
{
$this->query("SELECT * FROM $table");
}

//简化查询select
function select($table,$columnName,$condition)
{
if($columnName==""){
$columnName="*";
}

$this->query("SELECT $columnName FROM $table $condition");

}

//简化删除del
function delete($table,$condition){
$this->query("DELETE FROM $table WHERE $condition");
}

//简化插入insert
function insert($table,$columnName,$value){
$this->query("INSERT INTO $table ($columnName) VALUES ($value)");
}

//简化修改update
function update($table,$mod_content,$condition){
$this->query("UPDATE $table SET $mod_content WHERE $condition");
}

/*取得上一步 INSERT 操作产生的 自动增长的ID*/
function insert_id(){
return mysql_insert_id();
}

//指向确定的一条数据记录
function db_data_seek($id){
if($id>0){
$id=$id-1;
}
if(!@mysql_data_seek($this->result,$id)){
$this->show_error("sql语句有误:", "指定的数据为空");
}
return $this->result;
}

// 根据select查询结果计算结果集条数
function db_num_rows(){
if($this->result==null){

if($this->show_error){
$this->show_error("sql语句错误","暂时为空,没有任何内容!");
}
return -1;
}else{
return mysql_num_rows($this->result);
}
}

// 根据insert,update,delete执行结果取得影响行数
function db_affected_rows(){
return mysql_affected_rows();
}

//输出显示sql语句
function show_error($message="",$sql=""){
if(!$sql){
echo "<font color='red'>".$message."</font>";
echo "<br />";
}else{
echo "<fieldset>";
echo "<legend>错误信息提示:</legend><br />";
echo "<div style='font-size:14px; clear:both; font-family:Verdana, Arial, Helvetica, sans-serif;'>";
echo "<div style='height:20px; background:#000000; border:1px #000000 solid'>";
echo "<font color='white'>错误号:12142</font>";
echo "</div><br />";
echo "错误原因:".mysql_error()."<br /><br />";
echo "<div style='height:20px; background:#FF0000; border:1px #FF0000 solid'>";
echo "<font color='white'>".$message."</font>";
echo "</div>";
echo "<font color='red'><pre>".$sql."</pre></font>";
$ip=$this->getip();
if($this->bulletin){
$time = date("Y-m-d H:i:s");
$message=$message."\r\n$this->sql"."\r\n客户IP:$ip"."\r\n时间 :$time"."\r\n\r\n";

$server_date=date("Y-m-d");
$filename=$server_date.".txt";
$file_path="error/".$filename;
$error_content=$message;
//$error_content="错误的数据库,不可以链接";
$file = "error"; //设置文件保存目录

//建立文件夹
if(!file_exists($file)){
if(!mkdir($file,0777)){
//默认的 mode 是 0777,意味着最大可能的访问权
die("upload files directory does not exist and creation failed");
}
}

//建立txt日期文件
if(!file_exists($file_path)){

//echo "建立日期文件";
fopen($file_path,"w+");

//首先要确定文件存在并且可写
if (is_writable($file_path))
{
//使用添加模式打开$filename,文件指针将会在文件的开头
if (!$handle = fopen($file_path, 'a'))
{
echo "不能打开文件 $filename";
exit;
}

//将$somecontent写入到我们打开的文件中。
if (!fwrite($handle, $error_content))
{
echo "不能写入到文件 $filename";
exit;
}

//echo "文件 $filename 写入成功";

echo "——错误记录被保存!";

//关闭文件
fclose($handle);
} else {
echo "文件 $filename 不可写";
}

}else{
//首先要确定文件存在并且可写
if (is_writable($file_path))
{
//使用添加模式打开$filename,文件指针将会在文件的开头
if (!$handle = fopen($file_path, 'a'))
{
echo "不能打开文件 $filename";
exit;
}

//将$somecontent写入到我们打开的文件中。
if (!fwrite($handle, $error_content))
{
echo "不能写入到文件 $filename";
exit;
}

//echo "文件 $filename 写入成功";
echo "——错误记录被保存!";

//关闭文件
fclose($handle);
} else {
echo "文件 $filename 不可写";
}
}

}
echo "<br />";
if($this->is_error){
exit;
}
}
echo "</div>";
echo "</fieldset>";

echo "<br />";
}

//释放结果集
function free(){
@mysql_free_result($this->result);
}

//数据库选择
function select_db($db_database){
return mysql_select_db($db_database);
}

//查询字段数量
function num_fields($table_name){
//return mysql_num_fields($this->result);
$this->query("select * from $table_name");
echo "<br />";
echo "字段数:".$total = mysql_num_fields($this->result);
echo "<pre>";
for ($i=0; $i<$total; $i++){
print_r(mysql_fetch_field($this->result,$i) );
}
echo "</pre>";
echo "<br />";
}

//取得 MySQL 服务器信息
function mysql_server($num=''){
switch ($num){
case 1 :
return mysql_get_server_info(); //MySQL 服务器信息
break;

case 2 :
return mysql_get_host_info(); //取得 MySQL 主机信息
break;

case 3 :
return mysql_get_client_info(); //取得 MySQL 客户端信息
break;

case 4 :
return mysql_get_proto_info(); //取得 MySQL 协议信息
break;

default:
return mysql_get_client_info(); //默认取得mysql版本信息
}
}

//析构函数,自动关闭数据库,垃圾回收机制
function __destruct()
{
if(!empty($this->result)){
$this->free();
}
//echo "对象被释放";
mysql_close($this->conn);
}//function __destruct();

/*获得客户端真实的IP地址*/
function getip(){
if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
{
$ip = getenv("HTTP_CLIENT_IP");
}
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
{
$ip = getenv("REMOTE_ADDR");
}
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")){
$ip = $_SERVER['REMOTE_ADDR'];
}
else{
$ip = "unknown";
}
return($ip);
}

}

?>

调用办法:和上面差不多
<?php
$db=new mysql('localhost','root','','test',"conn",'gbk');
//实例化mysql类。主机名localhost,用户名root,密码空(''),数据库test,连接方式普通连接(conn,pconn是永久链接),字符集gbk
$db->query("select * from test");
//访问query函数。
echo $db->db_num_rows();
//访问db_num_rows函数。显示结果行数(因为类能有跟踪功能)
?>

❷ PHP数据库操作之基于Mysqli的数据库操作类库

此类库简单、易用,便于你自己修改和对功能的改善,能解决大部分
PHP
项目中执行的
SQL
操作。
初步工作
首先,请大家下载这个类库
M.class.php 再下载一个
Mysqli
连接数据库的类库
MysqliDb.class.php(打包下载地址)
新建一个
includes
的文件夹,将下载下来的两个
class
文件,放进去。
然后,请你在项目下创建一个
test.php
文件。注:UTF-8
文件格式
请先根据你机器的情况,填充以下代码,用于连接数据库:
复制代码
代码如下:
header('Content-Type:text/html;Charset=utf-8');
define('ROOT_PATH',
dirname(__FILE__));
define('DB_HOST',
'localhost');
//数据库服务器地址
define('DB_USER',
'root');
//数据库用户名
define('DB_PWD',
'×××');//数据库密码
define('DB_NAME',
'×××');
//数据库名称
define('DB_PORT',
'3306');
//数据库端口
function
__autoload($className)
{

require_once
ROOT_PATH
.
'/includes/'.
ucfirst($className)
.'.class.php';
//自动加载
class
文件
}
好了,上面的这些操作都是初步工作,下面正式进入类库的讲解。
类库讲解
首先,我们得实例化
M.class.php,实例化很简单:
复制代码
代码如下:
$m
=
new
M();
//这步操作代表
M.class.php
中的所有功能都封装在了变量
$m

注:
1、M类库中的方法参数说明,请到
M.class.php
文件中看详细的注释,这里不再进行叙述。建议在学习的时候,对照着看下文件中的参数即注释。
2、讲解代码中用到的数据库结构为:
复制代码
代码如下:
CREATE
TABLE
`user`
(

`id`
int(8)
unsigned
NOT
NULL
auto_increment,

`name`
varchar(50)
default
NULL,

`email`
varchar(100)
default
NULL,

`age`
smallint(3)
default
NULL,

`class_id`
int(8)
default
NULL,

`commit_time`
int(10)
default
NULL,

PRIMARY
KEY
(`id`),

KEY
`name`
(`name`)
)
ENGINE=MyISAM
DEFAULT
CHARSET=utf8
复制代码
代码如下:
CREATE
TABLE
`class`
(

`class_id`
int(8)
NOT
NULL
auto_increment,

`class_name`
varchar(100)
default
NULL,

PRIMARY
KEY
(`class_id`)
)
ENGINE=InnoDB
DEFAULT
CHARSET=utf8
并添加一条测试数据。
3、M类库中,大部分方法都分两中类型,即:SQL方法;拼接方法,具体在实例中可以看出
4、以下称述中的
M

M.class.php
文件
方法1、Insert()
添加数据
Insert
方法的全部使用案例如下:
复制代码
代码如下:
$m->Insert("user",
null,
array('焦焦',
'[email protected]',
'23',
time()));
//
拼接方法:往`user`表中添加一条数据,返回值为数据库影响的行数
$m->Insert("user",
null,
array('焦焦',
'[email protected]',
'23',
time()),
true);
//
功能同上,返回
last_insert_id(插入的增长id)
$m->Insert("INSERT
INTO
`user`
(`name`,
`email`,
`age`,
`commit_time`)
VALUES
('张小花',
'[email protected]',
'22',
'".time()."')");
//SQL方法,返回值为数据库影响的行数
$m->Insert("INSERT
INTO
`user`
(`name`,
`email`,
`age`,
`commit_time`)
VALUES
('张小花',
'[email protected]',
'22',
'".time()."')",
true);
//
同上,返回
last_insert_id
注:Insert
方法中的第二个参数若为null,可自动获得插入表除
auto_increment
字段之外的所有字段,详情请看M源文件;若要返回值为最后插入的
ID,那么请设置
Insert
方法的最后一个参数为
true(默认是false);
方法2、Update()
修改数据
update
方法的全部使用案例如下:
复制代码
代码如下:
$m->Update("user",
array('name'=>'李茹茹',
'age'=>24),
"id=1");
//拼接方法,修改id为1的数据的名称为“李茹茹”;年龄为“24”,其方法的返回值为受影响的行数
$m->Update("UPDATE
`user`
SET
`name`='李茹茹',
`age`=24
WHERE
id
=
1");
//SQL
用法,功能同上
方法3、Del()
删除数据
Del
方法的全部使用案例如下:
复制代码
代码如下:
$m->Del('user',
'id=3');
//拼接方法:删除`user`表中
id
为3的数据,返回受影响的行数
$m->Del("DELETE
FROM
`user`
WHERE
id=4");
//SQL方法:删除`user`表中
id
为4的数据,返回受影响的行数
$m->Del("DELETE
FROM
`user`
WHERE
id
in
(10,
11,
12)");
//SQL方法:删除多条数据,删除`user`表中
id

10、11、12
的数据,返回受影响的行数
方法4、Total()
获取记录数,返回值都为int
Del
方法的全部使用案例如下:
复制代码
代码如下:
$m->Total('user');
//拼接方法:返回
`user`表中的记录数,无条件
$m->Total('user',
'id>1');
//拼接方法:返回
`user`表中
id
大于1的记录数,有条件
$m->Total("SELECT
COUNT(*)
AS
total
FROM
`user`");
//SQL方法,注:使用SQL方法,语句中必须使用
"AS
total",否则会报错
方法5、IsExists()
检查数据是否存在,返回值为boolean
复制代码
代码如下:
$m->IsExists('user',
"`name`='焦焦'");
//拼接方法:返回`user`表中是否存在`name`为“焦焦”的数据,返回true,若不存在,返回false
方法6、InsertId()
获取表下一个添加的自动增长id,注意,这里不进行添加操作,只是获取下一个增长id
复制代码
代码如下:
echo
$m->InsertId('user');
//获取`user`
表下一个添加的自动增长id
方法7、GetRow()
返回单条数据,返回值为一维数组
GetRow
方法的全部使用案例如下:
复制代码
代码如下:
$data
=
$m->GetRow("SELECT
`name`,email
FROM
`user`
WHERE
id=1");
//SQL方法,返回一维数组,例如:Array
(
[name]
=>
焦焦
[email]
=>
[email protected]
)
$data
=
$m->GetRow("SELECT
u.`name`,
u.email,
c.class_name
FROM
`user`
u,
`class`
c
WHERE
u.class_id=c.class_id
AND
u.id=1");
//SQL方法,多表查询
$data
=
$m->GetRow('user',
'`name`,email',
"id=1");
//拼接方法
$data
=
$m->GetRow('user
as
u,`class`
c',
'u.`name`,u.email,c.class_name',
"u.id=1
AND
u.class_id=c.class_id");
//拼接方法,多表查询
$data
=
$m->GetRow("SELECT
`name`,email
FROM
`user`");
//如果没有指定条件应该是显示全部信息,但是在此方法中将默认显示第一条(不推荐这么使用!!!)
$data
是查询出来的一维数组。
方法8、GetOne()
返回单个数据
GetOne
方法的全部使用案例如下:
复制代码
代码如下:
$name
=
$m->GetOne("SELECT
`name`
FROM
`user`
WHERE
id=1");
//SQL方法,返回一个字符串,例如:焦焦
$name
=
$m->GetOne("user",
"name",
"id=1");
//拼接方法,返回一个字符串,例如:焦焦
方法9、FetchAll()
返回所有记录
复制代码
代码如下:
$data
=
$m->FetchAll("user");
//返回`user`表中的所有记录,以二维数组的形式
$data
=
$m->FetchAll("SELECT
*
FROM
`user`");
//SQL
方法,功能和返回值同上
$data
=
$m->FetchAll("user",
"name,email",
"id>1",
'id
DESC',
'2');
//返回两条id>1的数据,只显示name,email,并且以id
为倒序排序。注:请注意该方法的最后一个参数也可以为'0,2',目的是为分页准备的,如果第一页为'0,2'的话,那么第二页就是'2,2'
//该方法也支持联表查询和多表查询,下面以联表查询为例
$data
=
$m->FetchAll("`user`
as
u
LEFT
JOIN
`class`
as
c
ON
u.class_id=c.class_id",
"u.`name`,u.email,
c.class_name",
"u.id=1");
//注意:该拼接方法中,ON
添加的位置
注:对于该
FetchAll
方法,后续我会写一篇使用该方法进行完美分页的文章!!请关注。
方法10、MultiQuery()
执行多条SQL语句
复制代码
代码如下:
$sql
=
"INSERT
INTO
user
(`name`,email,
age,
class_id,
commit_time)
VALUES
('贾花花',
'[email protected]',
'22',
'1',
'".time()."')";
//添加一个名叫“贾花花”的学生信息
$sql
.=
";DELETE
FROM
`user`
WHERE
`name`='焦焦'";
//删除一条名叫“焦焦”的学生信息
//解释:$sql
是多条
SQL
以英文;(分号)拼接起来的
$data
=
$m->MultiQuery($sql);
//返回为true,代表执行成功;为false,代表执行失败
类库讲解完毕
到此该类库的全部功能就讲解完毕,希望你能多看看M文件,了解其内部运行的机制。M
文件不会存在执行缓慢情况,请大家放心使用。
如果在使用过程中出现
SQL
拼接错误,类库会报出友善的错误提示。
有问题请留言,欢迎大家的批评和建议,加油!学习好运。

❸ PHP用户类的一个方法怎样调用数据库操作类

直接调用就行了,不过可能你需要引用文件,以下是例子
//文件conn.php,用于连接数据库
class
DB_Conn
{
}
//文件
db.php,
用于数据库操作,这个类必然需要使用数据库连接对象,因此引用conn.php
require_once
conn.php;
class
DB
{
}
//文件user.php
require_once
'db.php';
class
User
{
public
function
getUserById($id)
{
$conn
=
new
Db_Conn();
$db
=
new
Db();
}
}以上只是示意,如果文件不在一个目录下记得修改路径。而且,一般来说数据库对象应该包含连接数据库和数据操作的全部功能,不需要分别写在两个类里面。我觉得你对面向对象的理解还很浅薄,需要进一步累积经验。

❹ github上面有没有比较好的php数据库操作类

medoo,挺好用的!!!!!!!

❺ php如何使用类和数据库进行数据操作

贴出自己写的一个数据库类吧。
class.php
<?php
class Db_Base
{
var $db_host;
var $db_name;
var $db_user;
var $password;
var $linkID;
var $sql;
var $result;
//构造函数,其中dbname,dbuser,dbpsd填自己的数据名,用户名,密码
function __construct()
{
$this->linkID = 0;
$this->sql = "";
$this->db_name="dbname";
$this->db_user="dbuser";
$this->password="dbpsd";
$this->db_host="localhost";
//调用数据库链接函数
$this->Db_Connect();

}
function Db_Base()
{
$this->__construct();
}
//链接数据库函数
function Db_Connect()
{
$this->linkID=@mysql_connect($this->db_host,$this->db_user,$this->password);
if(!$this->linkID)
{
DisplayError("连接失败");exit();
}
$this->Db_Select();
return true;
}
//选择数据库函数
function Db_Select()
{
$select=mysql_select_db($this->db_name);
if(!$select)
{
DisplayError("选择数据库失败");exit();
}
}
//sql语句操作
function Db_Query($sql)
{
if($sql) $this->sql=$sql;
if(!($this->result=mysql_query($this->sql,$this->linkID)))
{
DisplayError("SQL无效");
return 0;
}
else
{
return $this->result;
}
}
//sql语句的结果用数组返回
function Db_Fetch_Array()
{

return mysql_fetch_array($this->result);

}

//select语句 影响的行数
function Db_Num_Rows()
{
return mysql_num_rows($this->result);
}
//INSERT、UPDATE 、DELETE 的影响行数
function Db_Affected_Rows()
{
return mysql_affected_rows();

}
//清除记录
function Db_Free_Result()
{
if(!is_array($this->result)) return "";
foreach($this->result as $kk => $vv)
{
if($vv) @mysql_free_result($vv);
}
}
?>
其中DisplayError 为外部定义函数

应用的话,如下操作
example.php
<?php
require_once(class.php);
$news=new Db_Base();//构建对象
$sql="select * from tableA limit 0,100";//初始化sql语句
$news->Db_Query($sql);//向数据库插入sql语句
while($re=$news->Db_Fetch_Array())//循环输出sql结果集
{
echo $re[keyA];
echo $re[keyB];//keyA,keyB为你数据表的键
}
echo $news->Db_Num_Rows();//输出本次sql语句影响的行数,假若sql语句是update,delete,insert的,则用 Db_Affected_Rows() 函数
$news->Db_Free_Result();//清空查询结果
?>

好吧,网络的这个表单输入框真烂,不能调格式,代码格式可能很乱,就麻烦楼主慢慢看吧。若有问题再发消息给我网络号。

❻ PHP基于单例模式实现的数据库操作基类

本文实例讲述了PHP基于单例模式实现的数据库操作基类。分享给大家供大家参考,具体如下:
配置文件:
<?php
$db
=
array(
'host'=>'localhost',
'user'=>'root',
'password'=>'',
'database'=>'test',
)
?>
php
数据库基类:
<?php
class
db
{
public
$conn;
public
static
$sql;
public
static
$instance=null;
private
function
__construct(){
require_once('db.config.php');
$this->conn
=
mysql_connect($db['host'],$db['user'],$db['password']);
if(!mysql_select_db($db['database'],$this->conn)){
echo
"失败";
};
mysql_query('set
names
utf8',$this->conn);
}
public
static
function
getInstance(){
if(is_null(self::$instance)){
self::$instance
=
new
db;
}
return
self::$instance;
}
/**
*
查询数据库
*/
public
function
select($table,$condition=array(),$field
=
array()){
$where='';
if(!empty($condition)){
foreach($condition
as
$k=>$v){
$where.=$k."='".$v."'
and
";
}
$where='where
'.$where
.'1=1';
}
$fieldstr
=
'';
if(!empty($field)){
foreach($field
as
$k=>$v){
$fieldstr.=
$v.',';
}
$fieldstr
=
rtrim($fieldstr,',');
}else{
$fieldstr
=
'*';
}
self::$sql
=
"select
{$fieldstr}
from
{$table}
{$where}";
$result=mysql_query(self::$sql,$this->conn);
$resuleRow
=
array();
$i
=
0;
while($row=mysql_fetch_assoc($result)){
foreach($row
as
$k=>$v){
$resuleRow[$i][$k]
=
$v;
}
$i++;
}
return
$resuleRow;
}
/**
*
添加一条记录
*/
public
function
insert($table,$data){
$values
=
'';
$datas
=
'';
foreach($data
as
$k=>$v){
$values.=$k.',';
$datas.="'$v'".',';
}
$values
=
rtrim($values,',');
$datas
=
rtrim($datas,',');
self::$sql
=
"INSERT
INTO
{$table}
({$values})
VALUES
({$datas})";
if(mysql_query(self::$sql)){
return
mysql_insert_id();
}else{
return
false;
};
}
/**
*
修改一条记录
*/
public
function
update($table,$data,$condition=array()){
$where='';
if(!empty($condition)){
foreach($condition
as
$k=>$v){
$where.=$k."='".$v."'
and
";
}
$where='where
'.$where
.'1=1';
}
$updatastr
=
'';
if(!empty($data)){
foreach($data
as
$k=>$v){
$updatastr.=
$k."='".$v."',";
}
$updatastr
=
'set
'.rtrim($updatastr,',');
}
self::$sql
=
"update
{$table}
{$updatastr}
{$where}";
return
mysql_query(self::$sql);
}
/**
*
删除记录
*/
public
function
delete($table,$condition){
$where='';
if(!empty($condition)){
foreach($condition
as
$k=>$v){
$where.=$k."='".$v."'
and
";
}
$where='where
'.$where
.'1=1';
}
self::$sql
=
"delete
from
{$table}
{$where}";
return
mysql_query(self::$sql);
}
public
static
function
getLastSql(){
echo
self::$sql;
}
}
$db
=
db::getInstance();
//$list
=
$db->select('demo',array('name'=>'tom','password'=>'ds'),array('name','password'));
//echo
$db->insert('demo',array('name'=>'脚本之家','password'=>'123'));
//echo
$db->update('demo',array("name"=>'xxx',"password"=>'123'),array('id'=>1));
echo
$db->delete('demo',array('id'=>'2'));
db::getLastSql();
echo
"<pre>";
?>
更多关于PHP操作数据库相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《PHP基于pdo操作数据库技巧总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。

❼ 编辑器提示thinkphp的数据库操作类有问题,看官方的示例,只要有调用数据库的地方就回提示错误

厄,这已经不仅仅是你有没有学习thinkphp的问题了,错误信息那里写的很清楚:Unknown database 'demo'这个英文看的懂吧,位置数据库demo,是你在config.php这里面配置的数据库名称错了

❽ php数据库类操作问题,求高手来看看

function open_bm($o_bm, $o_pxbm, $o_fs) //打开一张表
{
//此处没有返回结果集,加上return就可以了
return $this->query("SELECT * FROM $o_bm order by $o_pxbm $o_fs");
}
此外, mysql_result的第一个参数是resource.第二个是数据行编号. 数据行编号从0开始,你输入1时请确保结果集至少2条数据
建议你每个function都应该有return.

❾ php支持哪些数据类型

php的数据类型有:1、String字符串型;2、Integer整型;3、Float和Double浮点型;4、Boolean布尔型;5、Array数组;6、Object对象;7、NULL空值等等。

❿ PHP中有几种主要的数据类型,通俗的解释一下他们

数据类型有三种:
 1.标量数据类型
 
标量数据类型包括以下几种。
(1)boolean:布尔型
布尔变量是PHP变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量
(2)string:字符串
字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:
        单引号方式,
        双引号方式,
 
        Heredoc方式。
 
(3)integer:整数
整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是−2 147 483 648~+2 147 483 647。
(4)double:浮点数
浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
 
   2.复合数据类型
 
复合数据类型包括以下两种。
(1)array:数组
可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。
(2)object:对象类型
 
   3.特殊数据类型
 
特殊数据类型包括以下两种。
(1)resource:资源
资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。
(2)null:空值
空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。

热点内容
php判断手机访问 发布:2025-01-13 10:46:06 浏览:762
数据库十张表 发布:2025-01-13 10:41:50 浏览:395
仿php 发布:2025-01-13 10:41:40 浏览:811
后缀解压什么意思 发布:2025-01-13 10:35:17 浏览:185
索尼安卓11如何退回安卓10 发布:2025-01-13 10:24:09 浏览:127
程序编译结构 发布:2025-01-13 10:24:08 浏览:90
创建邮箱地址服务器连接错误 发布:2025-01-13 09:49:24 浏览:723
linux编辑文档 发布:2025-01-13 09:47:51 浏览:435
二手制冷压缩机 发布:2025-01-13 09:43:59 浏览:585
网鱼电脑密码多少 发布:2025-01-13 09:33:46 浏览:464