• 技术文章 >后端开发 >php教程

    星期天的打扰大家,真是不好意思,但是实在是着急关于mysql的有关问题

    2016-06-13 13:34:17原创493

    星期天的打扰大家,真是不好意思,但是实在是着急啊……关于mysql的问题
    PHP code
    
      $query=mysql_query("select * from user where id={$_POST['id']}");
      while($result=mysql_fetch_array($query)){
           echo $result['name'];
       }
    
    


    这是一段简单的php查询程序。现在有一个问题,就是如果$_POST['id']在表里找不到,即 mysql_query()查找不到结果。
    页面是没有显示结果,但是用FF抓包的时候,会响应错误如下:
    mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ./././ line xx

    我现在不想让他报错,想在程序中加个判断。应该如何加?

    我尝试了if($query) if($query != false) if(mysql_num_rows($query)<1) if(mysql_fetch_array($query))
    都没有用。
    mysql_query 如果查询不到,会返回指针还是false?
    这个判断应该怎么写啊?大家帮个忙。谢谢了……


    ------解决方案--------------------
    你先var_dump(mysql_fetch_array($query)))看看,返回的是什么,你不就知道了
    ------解决方案--------------------
    不应该像你说的
    当mysql_query()查询到匹配的结果时,返回的是一个 resource类型的结果集
    当没有匹配的结果时,返回的也是 resource类型的结果集
    当查询出错的时候返回false
    ------解决方案--------------------
    那么就是你a.php的原因了。
    不妨把代码贴出来, 顺带把mysql.php也贴出来吧
    ------解决方案--------------------
    不会的。
    如果有错误,多半是你的$_POST['id']没有取到值。否则不会报错误的..
    ------解决方案--------------------
    你就不用post的的方法,直接用get运行mysql.php,同一个id看看结果是什么
    ------解决方案--------------------
    对于 $query=mysql_query("select * from user where id={$_POST['id']}");
    若 $_POST['id'] 不存在,或为空,则 SQL 指令为
    select * from user where id=

    若 $_POST['id'] 是非数字量,他已说“故意把查询的某个值弄错了”则 SQL 指令为
    select * from user where id=xxx
    xxx为字符串

    则必然产生查询错误!


    出现错误会有文本类型的错误信息,ff居然要通过抓包才能看见,这个ff应该抛弃了
    ------解决方案--------------------
    哥们想必你用的是火狐吧!你清下换春看看啊了。
    ------解决方案--------------------
    直接输出sql看看

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql query POST nbsp select
    上一篇: php读取数据库内容保存到excel里解决思路 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • PHP网站常见一些安全漏洞及防御方法• PHP与C#的值类型指向区别_PHP教程• PHP操作数组的一些函数整理介绍_php技巧• PHP5.0对象模型探索之抽象方法和抽象类_php基础• thinkphp框架下实现登录、注册、找回密码功能_PHP
    1/1

    PHP中文网