MySQLi作为PHP扩展库的一部分是一个很好的操作数据库的接口。mysqli的操作方式有两种,一种是面向过程的,另一类是面向对象的。本文主要讲的是面向对象的mysqli操作,主要是作为一个引子,更多的东西希望能多多参考php官方文档,看完本文再参考一下文档,相信对mysqli的操作会容易上手
mysqli的基本操作过程:
<?php // 连接数据库 $mysqli = new mysqli('localhost', 'root', ''); /* 选择数据库,也可以在mysqli的构造函数的第四个参数处给出 */ $mysqli->select_db('mydb'); //设置字符集 $mysqli->set_charset('utf8'); //执行操作 $mysqli->query('SELECT * FROM users'); $result = $mysqli->fetch_all(); //关闭连接 $mysqli->close();这儿用new新建了一个mysqli对象,传入数据库连接的相关参数就可以获得一个mysqli对象。可以通过$mysqli->connect_errno判断连接是否有误,具体错误信息通过$mysqli->connet_error得到。
连接数据库之后还要先选择数据库,这儿使用的是$mysqli->select-db('mydb')。然后可以设置一下字符集。
选择好数据库之后就可以对数据库进行操作了,采用mysqli对象的query方法可以执行MySQL语句。这儿需要注意的是:
对于一般的sql语句: SELECT/DESC/DESCRIBE/SHOW/EXPLAN 执行成功返回mysqli_result对象,执行失败返回false。对于其他sql语句的执行,执行成功返回true,否则返回false。(不包括预处理语句)
所以常规的insert / delete / update 等都会返回true或者false来表示sql语句是否成功执行。
执行完sql语句后可以通过mysqli对象的insert_id属性来查看刚刚insert进入表里面的数据的自增长字段的值。使用affected_rows属性查看影响的数据行数,error和errno属性查看错误信息
通过query方法执行的select语句会返回一个mysqli_result对象,这个对象就是查询的结果集对象,可以使用$mysqli_result->fetch_all()等方法获取到查询的结果。
本文只是一个引子,更具体的关于mysqli对象的使用方法可以在PHP官方文档进行查找