php如何使用类和数据库进行数据操作
php如何使用类和数据库进行数据操作?如添加数据,删除数据等。类与数据库如何进行关联的?具体流程是怎么样的?最好有个实例...
php如何使用类和数据库进行数据操作?
如添加数据,删除数据等。
类与数据库如何进行关联的?
具体流程是怎么样的?
最好有个实例 展开
如添加数据,删除数据等。
类与数据库如何进行关联的?
具体流程是怎么样的?
最好有个实例 展开
2个回答
展开全部
贴出自己写的一个数据库类吧。
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();//清空查询结果
?>
好吧,百度的这个表单输入框真烂,不能调格式,代码格式可能很乱,就麻烦楼主慢慢看吧。若有问题再发消息给我百度号。
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();//清空查询结果
?>
好吧,百度的这个表单输入框真烂,不能调格式,代码格式可能很乱,就麻烦楼主慢慢看吧。若有问题再发消息给我百度号。
展开全部
用类?
打击 自己定义个不就行了!
用就$a = new XXX();
$a->doSql('select * from xx');
就这么用啊!
class XXX
{
mysql_connect("localhost", "root", "123456") or
die("Could not connect: " . mysql_error());
mysql_query("SET character_set_connection='gbk', character_set_results='gbk', character_set_client=binary");
mysql_query("SET sql_mode=''");
mysql_select_db("s428200db0");
//执行单条
function doSql($sql)
{
$result = mysql_query($sql);
if ($result)
{
$row = mysql_fetch_array($result);
return $row;
}
return 0;
}
//del up insert
function doSql_UP_DEL_INSERT($sql)
{
$result=mysql_query($sql);
if($result)
{
if (substr($sql,0,6)=='insert')
{
return mysql_insert_id();
}
else
{
return $result;
}
}
else
return 0;
}
//多条
function getRowArrayBySQL($sql)
{
$out = array();
if($sql)
{
if(function_exists('err')) {
$result = mysql_query($sql) or die("function getRowArrayBySQL() err".err($sql));
}
else {
$result = mysql_query($sql) or die("function getRowArrayBySQL() err");
}
if($result)
{
while ($row = mysql_fetch_array($result)) {
$out[] = $row;
}
}
}
return $out;
}
}
打击 自己定义个不就行了!
用就$a = new XXX();
$a->doSql('select * from xx');
就这么用啊!
class XXX
{
mysql_connect("localhost", "root", "123456") or
die("Could not connect: " . mysql_error());
mysql_query("SET character_set_connection='gbk', character_set_results='gbk', character_set_client=binary");
mysql_query("SET sql_mode=''");
mysql_select_db("s428200db0");
//执行单条
function doSql($sql)
{
$result = mysql_query($sql);
if ($result)
{
$row = mysql_fetch_array($result);
return $row;
}
return 0;
}
//del up insert
function doSql_UP_DEL_INSERT($sql)
{
$result=mysql_query($sql);
if($result)
{
if (substr($sql,0,6)=='insert')
{
return mysql_insert_id();
}
else
{
return $result;
}
}
else
return 0;
}
//多条
function getRowArrayBySQL($sql)
{
$out = array();
if($sql)
{
if(function_exists('err')) {
$result = mysql_query($sql) or die("function getRowArrayBySQL() err".err($sql));
}
else {
$result = mysql_query($sql) or die("function getRowArrayBySQL() err");
}
if($result)
{
while ($row = mysql_fetch_array($result)) {
$out[] = $row;
}
}
}
return $out;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询