php mysqli使用

Posted 宋健安

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();

 

以上是关于php mysqli使用的主要内容,如果未能解决你的问题,请参考以下文章

php使用mysqli连接Mysql,怎么使用永久连接

如果不存在,则使用 mysqli + php 创建数据库

php mysqli mysqli_query() mysqli_real_query()

如何修复 mysqli_fetch_array?我使用 php、mysqli 和 html

php PHP DB使用mysqli连接

PHP基础(13)使用mysqli操作MySQL数据库