<?php
mysqli类中的方法都有一个面向过程的函数与之对应,而这些面向过程的函数都继承自mysql
例: $_mysqli = new mysqli(); $_mysqli->query()==mysqli_query()==mysql_query();
//1.创建一个mysqli的对象
$_mysqli = new mysqli();
//2.连接MySQL的主机、用户、密码、数据库 $_mysali->connect()是mysqli类的构造函数
$_mysqli->connect('localhost','root','yangfan','guest');
//3.创建带连接参数的mysqli对象,连接MySQL的主机、用户、密码、数据库
$_mysqli = new mysqli('localhost','root','yangfan','guest');
//4.单独选择数据库
$_mysqli->select_db('testguest');
//mysqli_connect_errno()函数返回连接数据库返回的错误号。
//Mysqli_connect_error()函数返回连接数据库返回的错误代码。
if (mysqli_connect_errno()) {
echo '数据库连接错误,错误信息:'.mysqli_connect_error();
exit();
}
// errno属性返回数据库操作时的错误号。
// error属性返回数据库操作时的错误代码。
if ($_mysqli->errno) {
echo '数据库操作时发生错误,错误代码是:'.$_mysqli->error;
}
//设置一下编码utf8
$_mysqli->set_charset("utf8");
//创建一句SQL语句
$_sql = "SELECT * FROM tg_user";
//执行sql语句把结果集赋给$_result
$_result = $_mysqli->query($_sql);
//将结果集的第一行作为一个索引数组输出
print_r($_result->fetch_row());
/将结果集包装成对象
$_row = $_reslut->fetch_object();
//输出对象中的一个字段(属性)
echo $_row->tg_username;
//遍历所有的用户名称
while (!!$_row = $_reslut->fetch_object()) {
echo $_row->tg_username.'
';}
//将结果集包装成数组(索引+关联)
$_row = $_reslut->fetch_array();
//输出下标是3的字段(属性)
echo $_row[3];
//将结果集包装成索引数组
$_row = $_reslut->fetch_row();
echo $_row[3];
//将结果集包装成关联数组
$_row = $_reslut->fetch_assoc();
echo $_row['tg_username'];
3.确定所选择的行和受影响的行
通常希望能够确定SELECT查询返回的行数,或者受INSERT、UPDATE或DELET查询
影响的行数。我们可以使用num_rows和affected_rows两个属性
//当使用查询时,想了解SELECT查询了多少行,可以使用num_rows。
echo $_reslut->num_rows;
//当使用查询时,想了解SELECT、INSERT、UPDATE、DELETE查询时影响的行数,可以使用affected_rows;注意,它是$_mysqli下的属性
echo $_mysqli->affected_rows;
//释放查询内存(销毁)
$_result->free();
//创建多条SQL语句
$_sql .= "SELECT * FROM tg_user;";
$_sql .= "SELECT * FROM tg_photo;";
$_sql .= "SELECT * FROM tg_article";
【$_mysqli->multi_query()执行多条SQL语句,执行后返回第一条SQL语句的执行状况(返回1或者0),此时指针指向第一条SQL语句
$_mysqli->store_result()获取当前指针指向的SQL语句的结果集
$_mysqli->next_result();将指针下移,指向下一条SQL语句】
//开始执行多条SQL语句
if ($_mysqli->multi_query($_sql)) {
//开始获取第一条SQL语句的结果集
$_result = $_mysqli->store_result();
print_r($_result->fetch_array());
//将结果集指针移到下一个
$_mysqli->next_result();
//开始获取第二条SQL语句的结果集
$_result = $_mysqli->store_result();
print_r($_result->fetch_array());
//将结果集指针移到下一个
$_mysqli->next_result();
//开始获取第三条SQL语句的结果集
$_result = $_mysqli->store_result();
print_r($_result->fetch_array());
} else {
echo 'sql语句有误!';
}
//5.断开MySQL
$_mysqli->close();
?>