2013-03-16 96 views
0

在我的数据库中,我有一张IP表,我禁止访问我的PHP脚本中的某些内容。当我将我的IP输入数据库时​​(以字符串形式,例如“123.4.5.6”),并且当我将IP清晰地输入到禁用的数据库表中时,它似乎没有回显“禁用”。MySQL Select Query will not Work

<?php 
require_once('config.php'); 
$ip = $_SERVER['REMOTE_ADDR']; 
$checkipban "SELECT * FROM banned WHERE bannedip = '$ip' 
"; 
$banquery = mysql_query($checkipban,$con); 
if(mysql_num_rows($banquery) > 0) 
echo "banned"; 
} 
?> 

$ con是连接到config.php中的数据库,它可以工作,因为脚本中的其他MySQL查询工作。数据库表被称为禁用,并且只有一列称为bannedip。

+0

检查是否编译,检查'$ ip',请检查您的查询是否成功。那是什么结果'}'? – 2013-03-16 18:06:14

+0

你在$ ip中获得什么? – DevelopmentIsMyPassion 2013-03-16 18:06:37

回答

3

似乎错字。你错过了=

$checkipban = "SELECT * FROM banned WHERE bannedip = '$ip'"; 
      ^

注:

Please, don't use mysql_* functions in new code。他们不再维护and are officially deprecated。请参阅red box?请改为了解prepared statements,并使用PDOMySQLi - this article将帮助您决定哪个。

+2

我刚刚意识到它已被弃用,我将使用MySQLi代替 – user1008096 2013-03-16 18:42:43

+0

+1来解释不推荐的mysql_ *函数。 – Jimbo 2013-03-18 15:51:10

1

你离开=分配它varaible $checkipban,你的脚本

$checkipban = "SELECT * FROM banned WHERE bannedip = '$ip'";