我一直在研究以下函数,该函数创建一个数组,并根据数据库中的最后两行向它添加两个整数。
function featuredUsers(){
$users = array();
$query = mysql_query("SELECT * FROM `featured_users` ORDER BY unique DESC LIMIT 2");
while ($row = mysql_fetch_assoc($query)) {
array_push($users, $row["uid"]);
}
return $users;
}
“Unique”唯一标识每一行,“uid”包含我们尝试添加到数组的用户ID。但是,数组保持为空,除了“mysql_fetch_assoc()期望参数1为resource,boolean ...”之外,控制台不会返回任何错误。我们的代码中没有其他函数使用资源作为第一个参数。
我忽略了一个简单的错误吗?
答案 0 :(得分:0)
您可能没有选择正确的数据库。 答案可以在这里找到:https://stackoverflow.com/questions/9383044/mysql-fetch-assoc-expects-parameter-1-to-be-resource-boolean-given-error
答案 1 :(得分:0)
也许您错过了在ORDER BY
之后添加引用列。我理解(你可以纠正,如果错了)是在ORDER BY
之后,你必须跟随一个推荐专栏。由于我不熟悉UNIQUE
语法,我非常感谢您提供有关此语法的更多信息。
答案 2 :(得分:0)
我认为你的做法是错误的。试试这个。
function featuredUsers(){
$users = array();
$query = mysql_query("SELECT distinct(uid) FROM `featured_users` ORDER BY uid DESC LIMIT 2");
while ($row = mysql_fetch_assoc($query)) {
array_push($users, $row["uid"]);
}
return $users;
}