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

未使用PHP将查询添加到SQL数据库,php,mysql,sql,get,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

未使用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";
}
?>

您在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";
}
?>

您的if语句中缺少numrows之前的$

直接回答问题:

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

or die(mysql_error());

这一点,考虑使用PDO,您会发现它的错误消息非常冗长,并且将节省您不得不运行MySQLJRealOracle EngEnEdScript(),并提供更多的SQL注入保护。

< P>将您的包含链接放置在文件的顶部/P>
include "connectdb.php";
$userId = mysql_real_escape_string($_GET["UserId"]);
$banner = mysql_real_escape_string($_GET["banner"]);
然后在numrows中添加$

if ($numrows == 1) {
您也可以使用

if ($numrows > 0) {

您是否在UserId中获得了一个值?是的,这是输出:“UserId:232被Usering禁止”如果$UserId存在于您的“禁止”表中,则应为true。为什么要删除转义调用并使查询容易受到SQL注入攻击?我在if语句中向numrows添加了现金标记,并添加了mysql查询。仍然没有添加到它。如果运行此命令,输出是什么?是否打开了错误显示?$query=mysql\u query(“从禁用的位置选择*Userid='$Userid')或die(mysql\u error());