doucu9677 2015-10-04 12:36
浏览 25
已采纳

检查值是否已存在不起作用(PHP)

I working on how to check if value already exist in a database. Whenever I try to input something (Example: 000) there's always an error: Warning: mysql_num_rows() expects parameter 1 to be resource..., but the input was saved in the database

then if I input the same again, the condition to check if value exist doesn't work

if (isset($_POST['add']))
    {
        $docid = $_POST['docid'];

        $check = mysql_query("SELECT doc.docid, doc_details.docid FROM doc, doc_details WHERE docid='$docid'");
        $number_of_rows = mysql_num_rows($check);
        if ($number_of_rows > 0)
            {
                echo "<script> alert('Your input already exist, no input made'); </script>";
            }
        else
            {
                $insert = mysql_query("INSERT INTO doc (docid) VALUES ('$docid')");
                $insert = mysql_query("INSERT INTO doc_details (docid) VALUES ('$docid')");
                echo "<script> alert('ADDING: Successful'); </script>";
            }
    }
  • 写回答

1条回答 默认 最新

  • doudu2515 2015-10-04 12:43
    关注

    As described in the manual mysql_query returns false when an error occurs. As the error says, $check is not a resource, so it's probably false. So there is an error in your first SELECT query, you should debug that.

    You could try this, it'll probably tell you what's wrong:

        $check = mysql_query("SELECT doc.docid, doc_details.docid FROM doc, doc_details WHERE docid='$docid'");
        if (false === $check)
          var_dump(mysql_error());
    

    Since false is never bigger than 0, your script will always attempt to insert, ignoring the error.

    Offtopic; you should migrate to mysqli_* instead of using mysql_ functions.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算