php mysqli使用

连接到数据库

$mysqli = new mysqli(主机,用户,密码,数据库);

选择数据库

$mysqli->select_db(数据库);

设置编码

$mysqli->set_charset(编码);

数据库连接错误编号

$mysqli->connect_errno;

数据库连接错误信息

$mysqli->connect_error;

最近产生的错误编号

$mysqli->errno;

最近产生的错误信息

$mysqli->error;

最近产生的错的数组,0=>errno,sqlstate,error

$mysqli->error_list;

客户端版本

$mysqli->client_version;

客户端信息

$mysqli->ciient_info;

同上

$mysqli->get_client_info();

$mysqli->server_version;

$mysqli->server_info;

$mysqli->get_server_info();

执行一次数据库查询|执行一条SQL语句,多了会报错

SELECT, SHOW, DESCRIBE或 EXPLAIN,会返回mysqli_result对象,其他返回true;失败返回false

$result = $mysqli->query($sql);

得到上一步操作产生的受影响记录条数(增删改),值有3种:受影响条数,-1代表SQL语句有问题,0代表没有记录被影响

$mysqli->affected_rows;

得到上一次插入操作产生的auto_increment值(准确的是第一条的值)

$mysqli->insert_id;

结果集中记录条数,可用于判断

$result->num_rows;

返回一个二维数组,返回的是结果集中所有记录,默认返回索引,可以设置常量返回类型,MYSQLI_ACCOS,MYSQL_NUM(默认),MYSQLI_BOTH

$result->fetch_all();

从结果集中作为索引数组返回一条记录

$res->fetch_row();

从结果集中作为关联数组返回一条记录

$result->fetch_assoc();

从结果集中返回索引和关联数组都有返回一条记录,可设置常量

$result->fetch_array();

从结果集中返回一条记录作为对象

$result->fetch_object();

返回一条记录的字段信息

$result->fetch_field();

返回全部记录的字段信息

$result->fetch_fields();

移动结果集中内部指针从0开始

$result->data_seek(指针);

释放与结果集相关的内存

$result->free();

$result->free_result();

$result->close();

关闭数据库连接

$mysqli->close();

执行多条SQL语句,如果多条查询语句,返回多个结果集,可以配合do while循环全部结果集,返回三维数组

$mysqli->multi_query();

使用结果集也可以用use_result(),但效率低

$mysqli->store_result();

检测是否还有结果集

$mysqli->more_results();

讲结果集指针向下移动一位(使用下一个结果集)

$mysqli->next_result();

准备一个预处理语句,返回stmt对象,可以防止SQL注入

$stmt=$mysqli->prepare(SQL);

绑定参数,第一个参数为绑定的类型

$username;

$password

$stmt->bind_param('sss',$username,$password);

执行预处理语句,返回true或false

$stmt->execute();

绑定数据到变量,有几条就可以绑定几条(字段),然后就可以直接使用变量

$stmt->bind_result($username,$email);

遍历结果集(一条记录,使用上面的变量来读取数据)

$stmt->fetch();

使用结果集

$stmt->store_result();

释放预处理语句的结果集

$stmt->free_result();

关闭预处理语句

$stmt->close();

关闭自动提交

$mysqli->autocommit(FALSE);

SQL语句都成功则提交,并开启自动提交(可选)

$mysqli->commit();

SQL语句失败回滚

$mysqli->rollback();