资讯专栏INFORMATION COLUMN

php基础——关于SELECT语句的返回结果

番茄西红柿 / 1124人阅读

摘要:最近在学习的相关知识,常常需要对等语句的返回结果进行判断。方法查找符合条件的记录关键语句若查找到返回索引数组若未查到,为。若采用语句来抓取数据,若找到符合条件的记录,返回的结果为,即。

本人php小白一枚。最近在学习php的相关知识,常常需要对INSERT、SELECT等sql语句的返回结果进行判断。这给我造成了很多的困扰,在进行了各种尝试之后,将我的总结整理在此。
1.INSERT语句

$sql = "INSERT INTO tableName VALUES(NULL,...)";
$result = mysqli_query($conn,$sql);
echo $result ? "1" : "-1";

使用INSERT语句向数据库中插入数据,此时$result的值为false或者true,因此可以直接作为判断条件。
2.SELECT语句

$sql = "SELECT * FROM tableName WHERE ...";
$result = mysqli_query($conn,$sql);

SELECT查询语句返回的结果$result是一个对象,不能直接作为判断条件,此时需要抓取$result中的数据才能做进一步的判断。

举个栗子,假设此时有这样一个需求,“在数据库中查找用户输入的用户名和密码是否正确”,数据库中不同的用户名仅对应一条记录。此时有两种方式,一种是返回查找到的记录,另一种是返回查找到的记录个数。
方法1:SELECT * FROM tableName(查找符合条件的记录)
关键语句

$sql = "SELECT * FROM t_login WHERE name="$name" AND pwd="$pwd"";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_row($result);//若查找到$row返回索引数组;若未查到,$row为NULL。

此处也可用$row =mysqli_fetch_assoc($result)语句。若找到,返回一个关联数组;若为找到,返回也是NULL。此处不宜用$row =mysqli_fetch_all($result,MYSQLI_ASSOC);该语句不论找到与否,返回的都是一个数组,不能作为判断条件。
方法1完整代码如下:

方法2:SELECT count(id)* FROM tableName(查找符合条件的记录个数)

    $sql = "SELECT count(id) FROM t_login WHERE uname="$name" AND upwd="$pwd"";
    $result = mysqli_query($conn,$sql);
    $row = mysqli_fetch_row($result);

若找到,此时返回的结果为array(1) { [0]=> string(1) "1" } ,表示返回的是一个长度为1的数组,其值为长度为1的字符串,即$row[0]==1;若未找到符合条件的记录,这个值为0。
若采用$row = mysqli_fetch_row($result);语句来抓取数据,若找到符合条件的记录,返回的结果为array(1) { ["count(uid)"]=> string(1) "1" } ,即$row["count(uid)"]=1
方法2完整代码如下:

By——初涉前端的小叶子。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22478.html

相关文章

  • php发送Sql语句遇到

    摘要:坑一报的第一个错误是关于的这个报错字面意思是这个函数的参数应该接受一个的参数,但实际运行时,传进去的参数是一个布尔值。在我的代码中,是查询后的结果,我的代码应该看起来没有问题,而错误提示是一个布尔值,可能是我的查询语句出现了问题。 php发送Sql语句遇到的坑 标签: php 先在这里贴一下代码: 作为一个php小白,写了40行代码,挖了不少坑,大家可以借助一下这段代码检验一下自己...

    light 评论0 收藏0
  • SQL 注入详解

    摘要:原理分析关于错误回显基于错误回显的注入就是通过语句的矛盾性来使数据被回显到页面上。因为,注入可以直接返回信息而不是布尔值。 实习期间的主要工作是研究 WEB 安全,刚开始的时候,研究的主要是 SQL 注入,因为之前没有搞过安全,所有费了好长一段时间对 SQL 注入基本知识进行了解。这篇文章并不是什么很深入的技术博客,或许应该叫它‘ SQL注入扫盲 ’。 showImg(https://...

    mrcode 评论0 收藏0
  • 2018 PHP面试真题(包括详细解析)

    摘要:以下题目和解析分别来源于我的新书程序员面试笔试宝典程序员面试笔试真题解析。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。真题获得实例化对象所属类名字的函数是。 以下题目和解析分别来源于我的新书《PHP程序员面试笔试宝典》、《PHP程序员面试笔试真题解析》。 1、PHP常考基础 1、PHP与ASP、JSP有什么区别?ASP全名Active Server Page...

    pubdreamcc 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<