时间:2021-07-01 10:21:17 帮助过:4人阅读
2.使用php的 mysqli 扩展库去操作mysql数据库
简单介绍:
mysqli (mysql improve mysql扩展库的增强版)
mysql 扩展库 和 mysqli 扩展库的比较
mysqli 有两套编程风格:
$mysqli=new MySQLi(“localhost”,”root”,”roo3t”,”test”); //按照面向对象的方式 if($mysqli->connect_error){ die($mysqli->connect_error); } // 考虑兼容低版本 if(mysqli_connect_error()){ die(“连接error”. mysqli_connect_error()) }
mysqli 编程的快速入门
编写一个程序,这个程序从user1表中读取数据,并打印在网页中。(使用mysqli完成.)
1.1. 配置php.ini 文件让php支持mysqli扩展库
extension=php_mysqli.dll
1.2 建库,建表.
这里我们使用原来的user1表.
1.3 编写代码
<?php header("Content-type: text/html;charset=utf-8"); //mysqli操作mysql数据库(面向对象风格) //1.创建MySQLi 对象 $mysqli=new MySQLi("localhost","root","root","test"); //验证是否ok if($mysqli->connect_error){ die("连接失败".$mysqli->connect_error); } //2. 操作数据库(发送sql) $sql="select * from user1"; //$res 是结果集.mysqli result $res=$mysqli->query($sql); //var_dump($res); //3. 处理结果 mysql_fetch_row(); while($row=$res->fetch_row()){ foreach($row as $key=>$val){ echo "--$val"; } echo "<br/>"; } //4. 关闭资源 //释放内存 $res->free(); //关闭连接 $mysqli->close(); ?>
3.再使用面向过程的方式给大家演示一下.
//1.得到mysqli连接 header("Content-type: text/html;charset=utf-8"); $mysqli=mysqli_connect("localhost","root","root","test"); if(!$mysqli){ die("连接失败".mysqli_connnect_error($mysqli)); } //2.向数据库发送sql语句(ddl,dml dql ...) $sql="select * from user1"; $res=mysqli_query($mysqli,$sql); //var_dump($res); //3.处理得到的结果 //循环取出$res中的数据mysqli_fetch_row mysql_fetch_row while($row=mysqli_fetch_row($res)){ foreach($row as $key=>$val){ echo "--$val"; } echo "<br/>"; } //4.关闭资源 mysqli_free_result($res); mysqli_close($mysqli);
? 在mysqli 扩展中,也提供了四种方式来获取mysqli result结果集
mysqli_result::fetch_assoc <==> mysql_fetch_assoc
mysqli_result::fetch_row <==> mysql_fetch_row
mysqli_result::fetch_array <===> mysql_fetch_array
mysqli_result::fetch_object<===> mysql_fetch_object
这里我们推荐大家使用前两种效率较高
? 在mysqli释放结果集有三种方式:
void mysqli_result::free ( void )
void mysqli_result::close ( void )
void mysqli_result::free_result ( void )
? mysql 的 sql 语句的特别说明:
如果操作的字段类型是 string 型,则要求我们的 要用 ‘’ 包括。
如果操作的字段类型是 数值型,则可以用 ’80’ 包括,也可以不用
u mysqli的增强-批量执行sql语句
批量执行 dml语句
基本语法
$sqls=”sql1;sql2;...”
mysqli::multi_query($sqls)
//请使用mysqli的mysqi::multi_query() 一次性添加三个用户 宋江 卢俊义 吴用
$sqls="insert into user1 (name,password,email,age) values(‘宋江‘,‘aaa‘,‘aa@shu.com‘,45);"; $sqls.="insert into user1 (name,password,email,age) values(‘卢俊义‘,‘aaa‘,‘aa@shu.com‘,45);"; $sqls.="insert into user1 (name,password,email,age) values(‘吴用‘,‘aaa‘,‘aa@shu.com‘,45);"; //$sqls.="update ;"; //$sqls.="delete ;"; //dml 和 dql $b=$mysqli->multi_query($sqls);
? 批量执行dml语句可以混合使用 delete insert update,但是最好不要使用select
PHP中将对数据库的操作,封装成一个工具类以及学会使用面向对象的方式进行编程
标签: