2013-05-24 2 views
0

ОШИБКА:MYSQL поставляется аргумент не является допустимым ресурсом MySQL-Link

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/247QC/system/core.php on line 21 
Invalid query: Whole query: SELECT * FROM users WHERE username='matt' AND password='5657572fc913e2d2a9548ba4f4' 

Из моих знаний я не сделал ничего плохого в моем коде, но я думал, что я хотел бы спросить, так как в последний раз я использовал MySQL был 2 года назад все могло измениться.

Мне интересно, что такое ошибка и как я ее исправить, я нахожусь в точке после googling в течение последнего часа, и результаты говорят о том, что это проблема подключения, и после тестирования она правильно подключалась к серверу (используя имя хоста не IP-адрес)

MySQL двигатель он использует это InnoDB и Упорядочение latin1_swedish_ci

код

$r_hostname = "monitor"; 
$r_username = "QCSYSTEM"; 
$r_password = "123456"; 
$link = mysql_connect($r_hostname,$r_username,$r_password); 
$db = mysql_select_db('QCSYSTEM', $link); 

$Password = sha1($_POST['password']); 
$username = $_POST['username']; 


$query = sprintf("SELECT * FROM users WHERE username='%s' AND password='%s'", 
     mysql_real_escape_string($username), 
     mysql_real_escape_string($Password)); 
$result = mysql_query($query,$db);     

if (!$result) { 
    $message = 'Invalid query: ' . mysql_error() . "\n"; 
    $message .= 'Whole query: ' . $query; 
    die($message); 
} else { 
    print "success";        
} 
+0

Ваша ссылка на сервер базы данных не создается. Проверьте возвращаемое значение 'mysql_connect'. Вы уверены, что имя хоста 'monitor'? Попробуйте 'localhost', если unsure –

+2

Здесь же вопрос http://stackoverflow.com/questions/2851420/warning-mysql-query-3-is-not-a-valid-mysql-link-resource и вместо $ db , вы должны пройти $ link в Mysql Query – sven

+0

$ db просто выбирает базу данных, а не соединение, в вашей ситуации это $ link, почему бы нам не PDO или подобное? –

ответ

3

Второй аргумент mysql_query должен быть идентификатором ссылки. Вы используете $db как второй аргумент, который является не чем иным, как логическим значением. Попробуйте это.

$result = mysql_query($query,$link);  

или просто не передавайте второй аргумент.

Смежные вопросы