版权声明:转载请附上文章地址 https://blog.csdn.net/weixin_38134491/article/details/86815482
对数据库执行一条SQL语句
1. 对于insert,update,delete等不会返回数据的SQL语句,在执行没有错误时返回true
2. 对于返回数据的SQL语句执行成功的时间会返回结果集对象,可以使用操作结果集对象的函数获取数据
(比如select语句就能返回结果)
$result=mysqli_query($link, $query);
<?php
header('Content-type:text/html;charse=utf-8');
/* 与MySQL数据库建立连接 */
$link=@mysqli_connect('localhost','root','123456','',3306);
/* 连接错误时的提示 */
if(mysqli_connect_errno()){ /* 返回最后一次连接调用的错误代码 */
exit(mysqli_connect_error()); /* 返回一个字符串描述的最后一次连接调用的错误代码 */
}
/* 设置默认字符编码 */
mysqli_set_charset($link, 'utf8');
/* 选择特定的数据库 */
mysqli_select_db($link, 'd14');
/* 对数据库执行一条SQL语句 */
//$query='insert into t1(info) values("ROBIN,Ltesoft,Ltesoft.com")'; /* 插入一条记录 */
$query='select * from t1';
$result=mysqli_query($link, $query); /* 获取select查询的结果 */
var_dump(mysqli_num_rows($result));
/* 关闭与MySQL服务器的连接 */
mysqli_close($link);
操作结果集对象的函数
- 以索引数组的方式获取第一条记录的数据 (重复使用可以获取下一条数据)
var_dump(mysqli_fetch_row($result));
如果记录条数比较多可以用个循环输出:
/* 对数据库执行一条SQL语句 */
//$query='insert into t1(info) values("ROBIN,Ltesoft,Ltesoft.com")'; /* 插入一条记录 */
$query='select * from t1';
$result=mysqli_query($link, $query); /* 获取select查询的结果 */
while ($data=mysqli_fetch_row($result)){
var_dump($data);
}
- 以关联数组的方式获取第一条记录的数据
var_dump(mysqli_fetch_assoc($result));
- 以索引数组或关联数组的方式获取第一条记录的数据
var_dump(mysqli_fetch_array($result));
- 以索引数组或关联数组的方式获取全部记录的数据
/* 第二个参数可选值:
* MYSQLI_ASSOC 关联数组形式
* MYSQLI_NUM 索引数组形式
* MYSQLI_BOTH 既输出关联数组形式又输出索引数组形式
*/
var_dump(mysqli_fetch_all($result,MYSQLI_BOTH));
- 把表中第一个字段以对象的方式列出来,不管你有多少条记录,只把字段列出来
/* 返回的结果是一个对象,用输出对象的方法获取值 */
var_dump(mysqli_fetch_field($result));
那么想取对象中的值怎么办?
- 把表中所有字段以对象的方式列出来,不管你有多少条记录,只把字段列出来(返回的结果是一个数组)
$query='select * from t1';
$result=mysqli_query($link, $query); /* 获取select查询的结果 */
var_dump(mysqli_fetch_fields($result));
$fileds=mysqli_fetch_fields($result);
echo $fileds[0]->name;
- 获取结果中行的数量
$query='select * from t1';
$result=mysqli_query($link, $query); /* 获取select查询的结果 */
var_dump(mysqli_num_rows($result));
释放一个结果集相关的内容
返回的结果集在数量很大的时候需要很多的内存支持,所以再操作完一个结果集有必要释放内存,释放之后结果集就不能再用了
mysqli_free_result($result);