首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql_query工作正常,但错误检查返回错误

mysql_query工作正常,但错误检查返回错误
EN

Stack Overflow用户
提问于 2012-07-13 18:06:02
回答 2查看 246关注 0票数 0

此代码工作并将所有正确的信息输入到数据库中,但错误检查返回错误。我可以删除错误检查,但我害怕制造一些噩梦,这些噩梦后来会再次困扰我,或者我遗漏了一个基本问题:

代码语言:javascript
复制
    $sql5a = mysql_query("SELECT id FROM categories WHERE category='$category'");
        $categoryresult = mysql_fetch_array($sql5a);
        $oldcategoryid = $categoryresult['id'];
        $sql6a = "INSERT INTO lookupcategory SET
        fbid='$fbid2',
        categoryid='$oldcategoryid'";
            if ( @mysql_query($sql5b) ) { 
                                echo('sql5b updated successfully<br>'); 
                            } else { 
                                echo('Error: sql5b not updated<br>'.mysql_error() );
                        }
                            if ( @mysql_query($sql6b) ) { 
                                echo('sql6b updated successfully<br>'); 
                            } else { 
                                echo('Error: sql6b not updated<br>'.mysql_error() );
                        }

输出是:" error : sql5b not updated您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,了解在第1行'Resource id #7‘附近使用的正确语法“"sql6b updated successfully”

当我检查数据库时,所有条目都是正确的。如果sql5a不能工作,sql6b也不能工作,所以我对这个错误感到困惑。

示例类别为:旅行/休闲类别最初是从表单响应中创建的:$category = htmlentities($fbdetail' Category ',ENT_QUOTES);并成功输入到数据库中。id号是使用AUTO_INCREMENT分配的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-13 18:32:53

您将查询赋值给变量$sql5a,但调用了@mysql_query($sql5b)$sql5b不存在(至少在这个示例中不存在)。$sql6a也是如此...

可以在不使用VALUES的情况下使用INSERT语法,但需要省略INTO关键字。

代码语言:javascript
复制
$sql5a = mysql_query("SELECT id FROM categories WHERE category='$category'");
if ( $res5a = @mysql_query($sql5a) ) { // first execute query and store resource in variable
    echo('sql5a selected successfully<br>'); 
} else { 
    echo('Error: sql5a failed<br>'.mysql_error() );
}
$categoryresult = mysql_fetch_array($res5a); // fetch array passing the RESOURCE var, NOT query string
$oldcategoryid = $categoryresult['id'];
$sql6a = "INSERT lookupcategory SET
fbid='$fbid2',
categoryid='$oldcategoryid'";

if ( @mysql_query($sql6a) ) { 
    echo('sql6a inserted successfully<br>'); 
} else { 
    echo('Error: sql6a failed<br>'.mysql_error() );
}

我不知道您从哪里获得$fbid2$category,因为它不在这段代码中。

票数 0
EN

Stack Overflow用户

发布于 2012-07-13 18:08:23

插入的语法为:

代码语言:javascript
复制
INSERT INTO table(col1, col2 ...) VALUES(val1, val2 ...)

在您的特定情况下:

代码语言:javascript
复制
$sql6a = "INSERT INTO table(fbid, categoryid) VALUES('{$fbid2}','{$oldcategoryid}')"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11468352

复制
相关文章

相似问题

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