用一个案例详解mysqli_query()执行SQL语句后的结果

//创建用户表

Select Code
1
2
3
4
5
6
-- 创建用户表 users
CREATE TABLE `users`(
`id` int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`username` varchar(255) NOT NULL UNIQUE,
`password` varchar(255) NOT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

//数据库执行前的操作:连接数据库服务器并选择数据库,判断是否连接,设置字符集

Select Code
1
2
$link = mysqli_connect('127.0.0.1', 'root', '', 'md5') or die("数据库连接错误".mysqli_error());
mysqli_set_charset($link, 'utf8');

//准备SQL语句

Select Code
1
INSERT INTO `table_name`(字段1,字段2) VALUES('值1', '值2');

INSERT执行结果集

Select Code
1
DELETE FROM `table_name` WHERE `id`=id值;

DELETE执行结果集

Select Code
1
UPDATE `table_name` SET `字段1`='值1', `字段1`='值1' WHERE `id`=id值;

UPDATE执行结果集1

UPDATE执行结果集2

注意:更新的时候执行成功,结果集也可能为空,但结果都返回boolean TRUE

Select Code
1
SELECT FROM `table_name` WHERE `字段1`='值1' AND `字段1`='值1';

SELETE查询数据结果集

//执行SQL语句
$res = mysqli_query($link, $sql)

//处理结果集
当我们执行的SQL语句是DML语句,也就是增,删,改三种语句,这时mysqli_query()返回的类型是布尔类型,执行成功返回真,失败返回假,但有时SQL语句执行成功,但不一定有受影响行数,所以我们
可以使用mysqli_affected_rows($link)函数返回受影响行数;

使用mysqli_num_rows($result)函数来获取结果集当中的记录条数,使用下面4种函数将结果集资源当中的数据得到(mysqli_fetch_assoc()常用):
1.mysqli_fetch_array() 返回索引和关联的混合数组
2.mysqli_fetch_assoc() 返回关联数组
3.mysqli_fetch_row() 返回索引数组
4.mysqli_fetch_object() 返回一个对象

//释放结果集资源(作用于SELECT查询)

Select Code
1
mysqli_free_result($res)

//关闭数据库连接

Select Code
1
mysqli_close($link)

案例代码:
https://github.com/webjust/case-study/tree/master/encrypt/md5