php查询语句判断返回值,php操作sql获得的返回值

今天我们继续来探究一下php操作sql,对于数据库的操作无非就是CRUD,刚学的,就是增删改查四个单词的简称,以后看到了要知道是什么(create,read,update,delete)。

上次的博客已经教大家如何使用php对mysql进行操作了,那么操作之后的返回值是什么呢。下面就进入正题!!!1

2$sql = "SELECT * FROM table";

$result = $mysqli->query($sql);

那么这个$result在CRUD执行之后到底会返回什么鬼呢?如果按常理,会返回两种结果,无非就是成功与不成功,这只是猜想,其实你的猜想对了一半

执行 增删改 $result的值

要查看结果,需要用var_dump()打印其结果1var_dump($result);

得到bool(true)或bool(false);

执行 查 $result的值

继续打印1var_dump($result);

得到object(mysqli_result)或bool(false);

object(mysqli_result)就是我们所查询到的结果,然而在实际开发中,这也是最重要在数据

现在我们来看看这个object到底是什么,从上图中它的名字很容易看出来它是一个mysqli_result类型的object对象,我们只是看到了一堆没用的信息,我们查到的信息在哪里呢?其实这里面还是有可以利用的信息的,那就是num_rows,它的值代表着我们查询到了多少条相符的信息。常用来验证登录,注册,很简单就是拿到登录或注册的信息去数据库里查找,看$result->num_rows的值,如果是0,那就是没有,如果是1(一般都是1,哪有一个用户表里面有两个相同的用户名?)那就是数据库中已经存在。但是如果只有这一个作用那未免太屈才了。下面就给大家介绍如何把查询到的结果一步步地拽出来!!!

查询结果解析

我们要得到最终的结果,还需要借助几个函数

把查询结果转换成关联数组1

2$row = $result->fetch_assoc();

var_dump($row);

打印结果如下:

把查询结果转换成索引数组1

2$row = $result->fetch_row();

var_dump($row);

打印结果如下:

把查询结果转换成数组1

2$row = $result->fetch_array($X);

var_dump($row);

$X为参数可选值为MYSQLI_ASSOC|MYSQLI_NUM|MYSQLI_BOTH,不难看出,当参数为MYSQLI_ASSOC时返回关联数组,当参数为MYSQLI_NUM时返回索引数组,当参数为MYSQLI_BOTH(默认)返回一个数组,但是这个数组既包含索引下标,也包含关联下标。打印结果如下:

把查询结果转换成对象1

2$row = $result->fetch_object();

var_dump($row);

打印结果如下:

大家可能会问了,为什么我的数据库里面有多条数据怎么只显示了一条呢?那是因为这种处理查询结果的方式一次只能处理一条,处理完第一条数据时,光标会定位到第二条数据的头部。如果你想输出每条数据很简单,代码如下:1

2

3while($row = $result->fetch_assoc()){

print_f($row);

}

友情提示,打印数组需要用print_f()函数!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值