Mysqli 扩展是需要php5.0版本以上的支持
主要有以下的3个类
MySQLi类,基本操作
MySQL_STMT类,预处理操作
MySQLi_RESULT类,结果操作
Mysqli的编写有两种方式,一种是面向对象风格,一种是过程化风格(面向过程)
-
-
连接数据库
- 方法1:new mysqli(host,host,user, pass,pass,db);推荐使用
- 方法2:mysqli_connect(host,host,user, pass,pass,db);(面向过程) 别名 mysqli::__construct
-
方法3:面向对象
class foo_mysqli extends mysqli { public function __construct($host, $user, $pass, $db) { parent::__construct($host, $user, $pass, $db); } }
-
方法4:
(面向对象)
$mysqli = mysqli_init();
mysqli−>realconnect(mysqli−>realconnect(host, user,user,pass, $db);
或者(面向过程)
$mysqli=mysqli_init();
Mysqli_real_connect(link,link,host, user,user,pass, $db)
-
查询数据
res=res=mysqli->query(sql);//返回的是一个sql);//返回的是一个mysqli_result 的结果集,是他从数据库取出来的数据保存在一个内容里面,会消耗资源,要关闭
(res就相当于一个res就相当于一个mysqli_result)
$res->fetch_all(MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH. )//返回所有的数据,性能非常低,不建议使用$res->fetch_array(MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH. ) mysql_fetch_array是从结果集中取出一行,然后指针向前移动,如果取多行,需要循环
$res->fetch_assoc() 从结果集中取得一行作为关联数组,如果取多行,需要循环
-
关闭操作
$res->free();
mysqli_free_result($res);//面向过程
$mysqli->close();
mysqli_close($res);//面向过程
-