PHP操作mysqli

2017-05-19  本文已影响0人  浅唱南山忆

<?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();

?>

上一篇下一篇

猜你喜欢

热点阅读