//row 、 array 、 assoc 、 object
//先连接数据库:
$host = 'localhost';
$user = 'root';
$pass = '123456';
$link = mysqli_connect($host,$user,$pass);
if ($link){
query($link,'set names utf8;');
mysqli_select_db($link,'zhenzhentest');
/*if(query($link,'insert into users (name,age,money) values ("小明",18,200)')){}else{
echo '插入失败';
};*/
echo '第一个:mysqli_fetch_row:
';
$res = query($link,'select name,age,money from users;');
$row = mysqli_fetch_row($res);
print_r($row);
$row = mysqli_fetch_row($res);
print_r($row);
/*while ($row = mysqli_fetch_row($res)){
print_r($row);
echo '
';
}*/
echo '
mysqli_fetch_row:从查询返回的结果集中,依次取出每一条数据,以数组的形式返回,以查询到的字段为基准进行下标的排序';
echo '
';
echo '第二个:mysqli_fetch_array:
';
$res2 = query($link,'select name,age,money from users;');
$row2 = mysqli_fetch_array($res2,MYSQLI_ASSOC);
print_r($row2);
echo '
fetch_array与fetch_row的区别就是,在返回的一行数据的数组中,fetch_array比fetch_row多了一个关联数组,而fetch_row中仅有索引数组';
echo '
fetch_array接收两个参数,
第一个参数是query语句返回的结果集,
第二个参数是数据的格式:MYSQLI_ASSOC(返回关联数组数据)、MYSQLI_NUM(返回索引数组数据)、MYSQLI_BOTH(默认索引和关联数组都进行返回)
默认就是返回索引和关联数组,不传递第二个参数';
echo '
';
echo '第三个:mysqli_fetch_assoc:
';
$res3 = query($link,'select * from users;');
$row3 = mysqli_fetch_assoc($res3);
print_r($row3);
echo '
他与:mysqli_fetch_array("结果集",MYSQLI_ASSOC),所返回的结果,以及作用,完全一样;';
echo '
PHP中存在很多相似功能,甚至完全一样的功能,只是名字不同的方法,就一个字:《存在即合理》';
echo '
';
echo '第四个:mysqli_fetch_object:
';
$res4 = query($link,'select * from users;');
$row4 = mysqli_fetch_object($res4);
print_r($row4);
echo '
将结果集中的每一条数据,作为一个对象来返回,在数据库中表中的一条数据就看作是一个对象,就这个意思';
echo '
';
echo '这四种从结果集中取数据的方法,都可以依次取出结果集中的下一条数据,可以使用循环,来取出你的查询语句返回的结果;';
echo '
';
echo '第五个:mysqli_num_rows
';
$res5 = query($link,'select * from users;');
$num = mysqli_num_rows($res5);
echo $num;
echo '
返回的是结果集中数据的总数
';
echo '
';
echo '
第六个:mysql_result,取出结果集中对应字段的值';
echo '
例如:mysql_result($query,行号,字段名)';
echo '
在PHP7中被移除了,此函数不存在了,可以通过别的方法达自己写一个类似功能的函数';
echo '
';
echo '
第七个:mysqli_affected_rows,返回上一次对数据库增删改的,受到影响的行数,就是那些行被更改了的总数
';
$res7 = query($link,'update users set name="qqqq" where id;');
$row7 = mysqli_affected_rows($link);
echo $row7;
echo '
只能够获取到上一次的操作的更改结果,上一次的上一次是获取不到的';
}else{
echo '链接失败
';
}
function query($link,$query){
return mysqli_query($link,$query);
}
?>