什么是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(); ?>