使用PHP不将查询添加到SQL数据库

时间:2014-01-02 05:05:14

标签: php mysql sql get

使用PHP在SQL数据库上运行查询。输出是这样说的,但是当我检查它时,它就不存在了。请帮忙!顺便说一下'connectdb.php'连接到sql和数据库。是否有遗忘或其他功能?

<?php
$userId = mysql_real_escape_string($_GET["UserId"]);
$banner = mysql_real_escape_string($_GET["banner"]);
include "connectdb.php";

$query = mysql_query("SELECT * FROM banned WHERE Userid='$userId'");
$numrows = mysql_num_rows($query);
if (numrows == 1) {
    echo "true";
} else {
    echo "false";
}
?>

4 个答案:

答案 0 :(得分:1)

直接回答这个问题:

您应该在调试时将以下内容添加到查询行中,如下所示,以获取错误的输出:

or die(mysql_error());

除此之外,考虑使用PDO,您会发现它的错误消息非常冗长,并且还可以使您不必运行mysql_real_escape_string(),并提供更多的SQL注入保护。

答案 1 :(得分:0)

你在if条件中忘记了$,这可能就是你的代码无效的原因

<?php

include "connectdb.php";

$userId = mysql_real_escape_string($_GET["UserId"]);
$banner = mysql_real_escape_string($_GET["banner"]);

$query = mysql_query("SELECT * FROM banned WHERE Userid='$userId'");
$numrows = mysql_num_rows($query);
if ($numrows > 1) {
    echo "true";
} else {
    echo "false";
}
?>

如果banned表格中的列Userid字段为$userId,则上述代码将返回true,否则它将返回false

答案 2 :(得分:0)

你在if语句中错过$ num之前的$。

答案 3 :(得分:0)

将您的包含链接放在文件顶部

include "connectdb.php";
$userId = mysql_real_escape_string($_GET["UserId"]);
$banner = mysql_real_escape_string($_GET["banner"]);

然后将$添加到numrows

if ($numrows == 1) {

你也可以使用

if ($numrows > 0) {