php源码之使用mysqli面向对象的API操作数据库
|
php使用mysqli面向对象的API操作数据库,源码和代码解释如下: $mysqli = new mysqli ("localhost","root","","mydatabase"); ////创建连接 try{ if(mysqli_connect_errno()){//检查连接是否被创建 throw new exception ("Error: ".mysqli_connect_errno()."-".mysqli_connect_error()); }else{ if($cdquery = $mysqli->query ("SELECT * FROM mytable ORDER BY id ASC")){//执行查询 while($cddata=$cdquery->fetch_array()){//获取查询结果数据 echo "ID: " . $cddata['id'] . " echo "Title: " . stripslashes ($cddata['title']) . " echo "MyValue: " . stripslashes ($cddata['MyValue']) . " } $cdquery->close();//关闭结果集 }else{ echo $mysqli->errno."-".$mysqli->error; } /*$mysqli->prepare * 创建一个准备查询语句: * ?是个通配符,可以用在任何有文字的数据 * 相当于一个模板,也就是预备sql语句 */ $prep = $mysqli->prepare ("INSERT INTO mytable(id,title,myvalue) VALUES ('0',?,?)"); /*$prep->bind_param 第一个参数是绑定类型,"s"是指一个字符串,也可以是"i",指的是int。也可以是"db", * d代表双精度以及浮点类型,而b代表blob类型,第二个参数是变量 */ $prep->bind_param('ss',$title,$myvalue); //给变量$title、$myvalue赋值 $title = "AA"; $myvalue = 20; //执行准备语句 $prep->execute(); //显示插入的语句 echo $prep->affected_rows . " row(s) affected."; $prep->close(); if($result = $mysqli->prepare ("SELECT title,myvalue FROM mytable WHERE id > 2")){ $result->execute (); $result->bind_result ($title,$myvalue); while ($result->fetch()){ echo "Title: " . stripslashes ($title) . " echo "MyValue: " . stripslashes ($myvalue) . " } $result->close (); }else{ echo $mysqli->errno . " - " . $mysqli->error; } //关闭数据库的链接 $mysqli->close(); } }catch(exception $e){ echo $e->getmessage(); } ?> 说明:mysqli对prepare的支持对于大访问量的网站是很有好处的,它极大地降低了系统开销,而且保证了创建查询的稳定性和安全性。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
