MYSQL提供的参数不是有效的MySQL-Link资源

时间:2013-05-24 05:37:46

标签: php mysql select

ERROR:

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年前,事情可能会发生变化。

我想知道错误是什么以及如何修复它,我在google搜索最后一小时后的结果并且结果说这是一个连接问题并且在测试之后它正确地连接到服务器(使用主机名)不是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";                            
}

1 个答案:

答案 0 :(得分:3)

mysql_query的第二个参数应该是链接标识符。您使用$db作为第二个参数,它只是一个布尔值。试试这个..

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

或者只是不传递任何第二个参数。