Php mysql_query()希望参数2是资源,布尔值在
我看了其他类似问题的答案,但似乎无法解决这个问题 这是代码Php mysql_query()希望参数2是资源,布尔值在,php,mysql,Php,Mysql,我看了其他类似问题的答案,但似乎无法解决这个问题 这是代码 $connection = mysql_connect("localhost","root","starwars"); $conn = mysql_select_db("project", $connection); // This code assumes $itemID is set to that of // the item that was just rated. // Get all
$connection = mysql_connect("localhost","root","starwars");
$conn = mysql_select_db("project", $connection);
// This code assumes $itemID is set to that of
// the item that was just rated.
// Get all of the user's rating pairs
$sql = "SELECT DISTINCT r.itemID, r2.ratingValue - r.ratingValue
as rating_difference
FROM rating r, rating r2
WHERE r.userID=$userID AND
r2.itemID=$itemID AND
r2.userID=$userID;";
$db_result = mysql_query($sql, $conn);
echo "The result is {$db_result}";
$num_rows = mysql_num_rows($db_result)or die('Cannot Execute:'. mysql_error());
显示的错误为:
警告:mysql_query()要求参数2为资源,布尔值
在上的C:\xampp\htdocs\reconder\ratingfiles\class.rating.php中给出
第177行
第177行是
$db_result = mysql_query($sql, $conn);
如果我回显
$conn
它给出了我认为等于true的值“1”,因此是布尔值,有什么想法吗?这可能意味着$conn
是false,意味着它没有正确设置。您可能需要检查您是如何设置的,并确保数据库连接详细信息正确无误,并且运行此连接的服务器可以访问数据库服务器
请查看此页面上的返回值:
将
$connection
作为第二个参数传递,而不是$conn
将mysql\u select\u db的结果分配给$conn,
mysql\u select\u db
返回true或false,而不是连接资源。将前两行更改为
$conn = mysql_connect("localhost","root","starwars");
mysql_select_db("project", $conn);
或者,更好的做法是,完全不要使用连接变量
mysql_connect("localhost","root","starwars");
mysql_select_db("project");
...
$db_result = mysql_query($sql);
mysql\u connect
的第二个参数必须具有
MySQL连接。如果未指定链接标识符,则假定mysql_connect()打开的最后一个链接。如果找不到这样的链接,它将尝试创建一个链接,就像调用mysql_connect()时没有参数一样。如果未找到或建立连接,将生成E_警告级别错误
我已经检查了数据库连接,一切正常,我知道$conn带有值1,在设置和在这几行中使用之间是否会丢失该值?请发布更多代码,以便我们了解您是如何设置的,并确保在设置完成后不会更改该值。谢谢!这将发出警告-
$conn
未在第二个示例中定义。。。
$db_result = mysql_query($sql, $connection);