2013-03-16 3 views
0

В моей базе данных у меня есть таблица IP-адресов, в которой я запретил доступ к некоторым вещам в моем PHP-скрипте. Когда я ввожу свой IP-адрес в базу данных (в виде строки, например, «123.4.5.6»), и он, похоже, не эхо «запрещен», когда я четко ввел свой IP-адрес в таблицу запрещенных баз данных.MySQL Select Query не работает

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

$ жулика является подключением к базе данных в config.php, и это работает, потому что другие запросы MySQL в работе скрипта. Таблица базы данных называется запрещенной, и есть только один столбец с именем bannedip.

+0

проверить ли ваш скрипт, проверьте '$ ip', проверить, является ли удалось ваш запрос. и что это за хвост '}'? –

+0

Что вы получаете в $ ip? – DevelopmentIsMyPassion

ответ

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 вместо этого, и используйте PDO или MySQLi - this article поможет вам решить, какой.

+2

Я просто понял, что он устарел, и я собираюсь использовать MySQLi вместо – user1008096

+0

+1 для объяснения устаревших функций mysql_ *. – Jimbo

1

Вы оставили = для присвоения его $checkipban Название переменной, компилирует

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