首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果已经存在,则检查值(PHP)

问如果已经存在,则检查值(PHP)
EN

Stack Overflow用户
提问于 2015-10-04 12:36:57
回答 1查看 54关注 0票数 0

我正在研究如何检查数据库中是否已经存在值。每当我尝试输入什么东西(例如: 000),总是有一个错误:警告: mysql_num_rows()希望参数1是资源.,但是输入保存在数据库中

如果再次输入相同的值,则检查值是否存在的条件不起作用

代码语言:javascript
复制
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>";
            }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-04 12:43:13

当发生错误时,手册中所述 mysql_query返回false。正如错误说的那样,$check不是一个资源,所以它可能是false。因此,您的第一个SELECT查询中有一个错误,您应该调试它。

你可以试试这个,它可能会告诉你出了什么问题:

代码语言:javascript
复制
    $check = mysql_query("SELECT doc.docid, doc_details.docid FROM doc, doc_details WHERE docid='$docid'");
    if (false === $check)
      var_dump(mysql_error());

由于假永远不会大于0,您的脚本将始终尝试插入,忽略错误。

您应该使用*而不是使用mysql_函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32933535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档