时间:2021-07-01 10:21:17 帮助过:2人阅读
mysqli 类对象主要控制PHP和MySQL服务器之间的连接、选择数据库、发送SQL语句,以及设置字符串等
1.连接MySQL服务器
方法一:
$mysqli = new mysqli("localhost","root","1234567","bookstore");//连接mysql 数据库
可通过mysqli对象的select_db()方法为改变当前的连接改变它的默认数据库
方法二:
$mysqli = new mysqli();
$mysqli->connect("localhost","root","1234567");
$mysqli->select_db("bookstore");//选择特定的数据库
方法三:
<?php
$mysqli = mysqli_init();//创建一个连接对象
//设置连接选项
$mysqli->options();
$mysqli->real_connect("localhost","root","1234567","bookstore");
?>
处理连接错误报告
mysqli_connect_errno();//函数测试在建立连接的过程中是否发生错误
mysqli_connect_error();//函数返回相关出错消息
2.关闭与MySQL服务器的连接
$mysqli->close();//
3.执行SQL语句
//常用方法是query();成功返回true
mysqli对象的affected_rows属性获取有多少条记录发生变化
insert_id();返回自动生成的编号
类对象包含select查询的结果,和获取结果集中数据的成员方法、成员属性
该类对象,默认是通过mysqli对象中的query()方法执行select语句返回的,并把所有的结果数据从MySQL服务器取回到客户端,保存在该对象中
创建结果集对象
方法一:
调用query();方法
例:
$result = $mysqli->query("sql语句");//将数据返回到客户端
$result = $mysqli->query("sql语句",MYSQLI_USE_RESULT);//留在MySQL服务器上
方法二: $mysqli->real_query("sql语句");//无法确定返回结果集的类型 $result = $mysqli->store_result();//获取一个缓冲结果集使用$result->close();方法回收结果集占用的内存
结果集对象提供 fetch_row() fetch_assoc() fetch_object() fetch_array() 方法读取结果集中的数据
获取列信息
结果集对象的 field_count 属性 给出数据列的个数
current_field 属性 获取指向当前列的位置
field_seek()方法 改变指向当前列的偏移位置
fetch_field()方法 返回当前列的信息
一次执行多条SQL命令
使用mysqli对象的multi_query()方法执行多条SQL语句,多条SQL语句写在一个字符串中,且用分号分隔
store_result()//将全部结果取回客户端
more_result()//检查是否还有其他结果集
next_result()//获取下一个结果集
该类对象,定义和执行参数化的SQL命令
获取预处理语句对象
方法一:
使用mysqli对象中的prepare()方法准备要执行的SQL语句,获得一个mysqli_stmt对象
例:
$stmt = $mysqli->prepare("sql语句");//SQL语句的各参数替换为占位符,通常使用?
方法二:
$stmt = $mysqli->stmt_init();//获取一个mysqli_stmt 对象
$stmt->prepare("SQL语句");
使用bind_param()方法 绑定参数
绑定参数的顺序应与预处理语句中占位符表示的参数顺序对应
i 表示所有INTEGER类型
d 表示DOUBLE和FLOAT类型
s 表示所有其他类型(包括字符串)
b 表示二进制数据类型
例:
$stmt = $mysqli->prepare($insertbook);
//绑定变量
$stmt->bind_param(‘ssd‘,$bookName,$publisher,$price);
$bookName = "css";
$publisher = "清华大学出版社";
$price = ‘100‘;
$stmt->execute();
echo ‘插入的行数:‘.$stmt->affected_rows.‘<br>‘;
echo ‘自动增长的ID:‘.$mysqli->insert_id.‘<br>‘;
execute() 执行准备好的语句
close() 回收资源
PHP的mysqli扩展
标签: