我看了类似于我的问题的其他答案,但似乎无法解决这个问题。
这是代码。
$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 \ recomender \ ratingfiles \ class.rating.php中给出 第177行
第177行
$db_result = mysql_query($sql, $conn);
如果我回显$conn
它会给出“1”的值,我认为它等于真,因此布尔值,任何想法?
答案 0 :(得分:1)
这可能意味着$conn
是错误的,这意味着它没有正确设置。您可能想要检查如何设置它并确保数据库连接详细信息正确,并且运行它的服务器可以访问数据库服务器。
请查看此页面上的返回值:
答案 1 :(得分:1)
将$connection
作为第二个参数传递,而不是$conn
。
您将mysql_select_db
的结果分配给$ conn,mysql_select_db
返回true或false,而不是连接资源。
答案 2 :(得分:0)
将前2行更改为
$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);
答案 3 :(得分:-1)
$db_result = mysql_query($sql, $connection);
mysql_connect
的第二个参数必须
MySQL连接。如果未指定链接标识符,则假定mysql_connect()打开的最后一个链接。如果没有找到这样的链接,它将尝试创建一个,就好像没有参数调用mysql_connect()一样。如果未找到或建立连接,则会生成E_WARNING级别错误。