网站建设知识
PHP的MySQLi扩展
2025-07-22 10:00  点击:0

什么是PHP的MySQLi扩展?

——PHP的MySQLi扩展又称为MySQL增强扩展,mysqli扩展在PHP5及以后版本中包含。

MySQLi扩展相对于MySQL扩展的优势

——基于面向过程和面向对象的使用

——支持预处理语句

——支持事务

MySQLi扩展安装

——配置PHP配置文件,开启php_mysqli.dll扩展

(1)打开php.ini,查找php_mysqli.dll ,去掉注释,即 “; ”即可。

(2)——配置extension_dir=’ext目录所在位置’

(3)——重启服务器

检验是否成功开启MySQLi服务

';//3.检测函数是否存在var_dump(function_exists('mysqli_connect'));echo '';//4.得到当前已经开启的扩展print_r(get_loaded_extensions());echo '';?>


MySQLi扩展面向对象的使用

通过MySQLi类库操作数据库的步骤

1.建立到MySQL的连接

2.打开指定的数据库

3.设置默认客户端的字符集

4.执行SQL查询

5.释放结果集

6.关闭连接

 select_db('database');           //方法二:        $mysqli2 = new mysqli();        $mysqli2->connect('localhost','root','password');        $mysqli2->select_db('database');       //方法三:       //建立连接的同时打开指定数据库        $mysqli3 = new mysqli('localhost','root','password','database');        var_dump($mysqli1);        var_dump($mysqli2);        var_dump($mysqli3); ?>


MySQLi实现创建数据表操作

connect_errno){die('Connect Error:'.$mysqli->connect_error);}//2.设置默认的客户端编码方式utf8$mysqli->set_charset('utf8'); //3.执行SQL查询$sql=<<query($sql);var_dump($res); //关闭连接$mysqli->close();?>

MySQLi实现插入、更新、删除记录操作

connect_errno){die('ConNECT ERROR:'.$mysqli->connect_error);}$mysqli->set_charset('utf8'); //执行SQL查询//添加记录//执行单条SQL语句,只能执行一条SQL语句// $sql="INSERT user(username,password) VALUES('timor','timor');";// $sql.="DROP TABLE user;";    //这里会报错,因为通过$mysqli->query($sql) 执行查询只能实现一条SQL语句$sql="INSERT user(username,password) VALUES('riven','riven'),('liqing','liqing'),('curki','curki'),('echo','echo')";$res=$mysqli->query($sql);if($res){//得到上一步插入操作执行后的AUTO_INCREMENT的值echo '恭喜您注册成功,您是网站第'.$mysqli->insert_id.'位用户';//得到上一步操作产生的受影响记录条数    echo '有'.$mysqli->affected_rows.'记录被影响';}else{//得到上一步操作产生的错误号和错误信息echo 'ERROR '.$mysqli->errno.':'.$mysqli->error;}echo '

'; //将表中年龄+8 $sql="UPDATE user SET age=age+8"; $res=$mysqli->query($sql); if($res){ echo $mysqli->affected_rows.'条记录被更新'; }else{ echo "ERROR ".$mysqli->errno.':'.$mysqli->error; } echo '
'; //将表中id<=5的用户删除掉 $sql="DELETE FROM user WHERE id<=5"; $res=$mysqli->query($sql); if($res){ echo $mysqli->affected_rows.'条记录被删除'; }else{ echo "ERROR ".$mysqli->errno.':'.$mysqli->error; } //关闭到MySQL的连接 $mysqli->close(); ?> MySQLi实现查询记录操作 connect_errno){ die('ConNECT ERROR:'.$mysqli->connect_error); } $mysqli->set_charset('utf8'); $sql="SELECT id,username,age FROM user"; $mysqli_result=$mysqli->query($sql); //var_dump($mysqli_result); if($mysqli_result && $mysqli_result->num_rows>0){ //echo $mysqli_result->num_rows; //$rows=$mysqli_result->fetch_all();//获取结果集中所有记录,默认返回的是二维的索引+索引的形式 //$rows=$mysqli_result->fetch_all(MYSQLI_NUM); // 返回的是索引数组 //$rows=$mysqli_result->fetch_all(MYSQLI_ASSOC); // 返回的是关联数组 //$rows=$mysqli_result->fetch_all(MYSQLI_BOTH); // 二者均有 // $row=$mysqli_result->fetch_row();//取得结果集中第一条记录作为索引数组返回 // print_r($row); // echo '
'; // $row=$mysqli_result->fetch_assoc();//取得结果集中的一条记录作为关联数组返回 // print_r($row); // echo '
'; // $row=$mysqli_result->fetch_array(); //默认返回二者都有的数组 // print_r($row); // echo '
'; // $row=$mysqli_result->fetch_array(MYSQLI_ASSOC); // 返回关联数组 // print_r($row); // echo '
'; // $row=$mysqli_result->fetch_object(); // print_r($row); // echo '
'; // //移动结果集内部指针 // $mysqli_result->data_seek(0); //得到结果集中第一条记录 // $row=$mysqli_result->fetch_assoc(); // print_r($row); // print_r($rows); while($row=$mysqli_result->fetch_assoc()){ //print_r($row); //echo '
'; $rows[]=$row; } print_r($rows); //释放结果集 $mysqli_result->free(); }else{ echo '查询错误或者结果集中没有记录'; } $mysqli->close(); ?>