您的位置:首页 > 编程语言 > PHP开发

PHP的mysqli扩展

2016-05-08 20:33 323 查看
mysqli是一种面向对象的技术

使用 mysqli 类

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();返回自动生成的编号

使用 mysqlI_result 类

类对象包含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()//获取下一个结果集

使用 mysqli_stmt 类

该类对象,定义和执行参数化的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>';

exe
4000
cute() 执行准备好的语句

close()  回收资源
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: