版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
Mysqli扩展面向对象的使用
通过Mysqli类库操作数据库的步骤
- 建立到Mysql的连接
- 打开指定的数据库
- 设置客户端的字符集
- 执行sql查询
- 释放结果集
- 关闭连接
新建mysqli对象
$变量 = new mysqli();
使用connect函数连接到数据库
$变量 = new mysqli();
$变量->connect('127.0.0.1','root','password');
使用select_db函数打开数据库
$变量 = new mysqli();
$变量->connect('127.0.0.1','root','password');
$变量->select_db('数据库');
简写
$变量 = new mysqli('localhost','root','password','数据库(可选)');
检查错误
connect_errno:得到连接产生的错误编号
if($变量->connect_errno){
die('错误'.$变量->connect_errno)
}
connect_error:得到连接产生的错误信息
if($变量->connect_error){
die('错误'.$变量->connect_error)
}
错误注释符
使用@注释mysql报错
$变量 = @new mysql('localhost','root','password');
设置客户端的编码方式
$变量->set_charset('utf-8');
执行SQL查询
使用query函数执行SQL查询
$变量1 = new mysql('localhost','root','password');
$变量2 = <<<EOF
SQL语句
EOF;
$变量1->query($变量2);
query可以获取返回值
$变量1 = new mysql('localhost','root','password');
$变量2 = <<<EOF
SQL语句
EOF;
$变量3=$变量1->query($变量2);
- SELECT/DESC/DESCRIBE/SHOW/EXPLAIN执行成功返回mysqli_result对象,执行失败返回false
- 对于其他SQL语句的执行,执行成功返回true,否则返回false
使用erron与error来获取错误号和错误信息
$变量1 = new mysql('localhost','root','password');
$变量2 = <<<EOF
SQL语句
EOF;
$变量3=$变量1->query($变量2);
if($变量3){
语句
}else{
echo 'ERROR'.$变量1->erron.':'.$变量1->error;
}
fetch_all()函数获取结果集中的所有记录,返回二维数组
$变量1=$变量2->fetch_all();
fetch_row()函数函数获取结果集中的第一条记录,返回二维数组
$变量1=$变量2->fetch_row();
close()函数释放结果集
$变量->fetch_row();
关闭连接
使用close函数关闭连接
$变量->close();
insert_id函数得到上一次操作产生的AUTO_INCREMENT的值
echo $变量->insert_id;
affected_rows函数得到上一次受到影响的记录数量
echo $变量->affected_rows;
affected_rows值有3种
- 受影响的记录条数
- -1 SQL语句有问题
- 0 没有受影响的记录
escape_string转义特殊字符
$变量1->escape_string($变量2);
multi_query函数同时进行多条语句
- 返回值仅与第一条语句有关
- 如果前面的语句错了,后面的语句不会执行
$mysql链接->multi_query($SQL语句);
预处理
$sql = "INSERT user(username,password,age) VALUES(?,?,?)";
//准备预处理语句
$mysqli_stmt = $mysqli->prepare($sql);
//声明参数
$username = "king";
$password = md5("king");
$age = 12;
//绑定参数
$mysqli_stmt->bind_param('ssi',$username,$password,$age);
//执行语句
$mysqli_stmt->execute();