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);