mysql mysqli封装_封装自己的Mysqli操作类

Mysqli为php5引入的新的数据库操作对象,Mysqli包括php4中所有的mysql方法,并且Mysqli支持面向操作,并且mysqli的预处理操作可以防止SQL注入。

封装自己的mysqli操作类,可以大大简化与数据库操作时的代码书写。

此类封装了mysql的增加(INSERT())、修改(UPDATE())、删除(DELETE())、查询(SELECT())以及执行多条SQL语句的execs()方法,方法的命名以类SQL语句命名。

注:此类名为DataBase,数据库是以连接常量的形式进行连接的,使用前请先修改类中构造方法的连接常量。

使用范例:

include 'DataBase.class.php';

$db=new DataBase();

//将表单中提交的数据添加到comments(评论)表中

//此方法类似直接执行SQL:INSERT INTO `comments`(aid, name, time, content) VALUES(1, $_POST['name'], time(), $_POST['content'])

if(!empty($_POST)){

$rows = $db -> INSERT_INTO('comments')

-> VALUES(array(

'aid' => 1,

'name' => $_POST['name'],

'time' => time(),

'content' => $_POST['content']

))

-> INSERT();

}

//按条件查询记录

//此方法类似执行SQL:SELECT cid, name, time, content FROM `comments` WHERE cid!=157 AND cid!=158 OR cid=154 ORDER BY cid GROUP BY NULL

$result=$db ->SELECT(array('cid', 'name', 'time', 'content'))

->FROM('comments')

->WHERE('cid!=157', array('AND'=>'cid!=158', 'OR'=>'cid=154'))

->ORDER_BY('cid')

->GROUP_BY('null')

->SELECT();

//默认函数返回值为一带数据库字段索引的而为数组,因此遍历此数组即可

echo '

echo '

idnametimecontent编辑';

foreach($result as $row){

echo '

';

foreach($row as $index=>$col){

echo '

'.$col.'';

}

echo '

删除| 修改';

echo '

';

}

echo '

';

//删除一条记录

//此方法类似执行SQL:DELETE FROM `comments` WHERE cid=$_GET['i']

if(isset($_GET['a'])&&$_GET['a']=='delete'){

$rows=$db ->DELETE_FROM('comments')

->WHERE("cid=$_GET[i]")

->DELETE();

}

//更新一条记录

//此方法类似执行SQL:UPDATE `comments` SET name=$_POST['name'], content=$_POST['content'] WHERE cid=$_POST['i']

$db ->UPDATE('comments')

->SET(array(

'name' =>$_POST['name'],

'content' =>$_POST['content']

))

->WHERE('cid='.$_POST['i'])

->UPDATE();

//执行一组SQL语句

$arr=array(

'UPDATE seccomments SET cid=cid+1 WHERE cid=144',

'UPDATE seccomments SET cid=cid+1 WHERE cid=138'

);

if($db ->execs($arr)){

echo 'SQL执行成功';

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值