使用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";
}
?>
答案 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) {