我有以下代码有两个查询。第一个获取将在下一个查询中使用的ID。我在第二个查询时出现此错误:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\b\pprincipal.php on line 132
这是第一个查询(对于该表中存在数据的用户的ID)
$query2 = mysql_query("SELECT DISTINCT competencias, id_user FROM ce");
$ut = array();
while ($result = mysql_fetch_array($query2)) $ut[] = $result;
foreach ($ut as $u){
$id_user=$u[1];
echo "<li class='has-sub'><a>" .$u[0]. "</a>";
}
以下是给出错误的查询:
$query3 = mysql_query("SELECT id, nome FROM utilizadores WHERE id=$id_user");
$utt = array();
while ($result2 = mysql_fetch_array($query3, $con)) $utt[] = $result2;
foreach ($utt as $u2){
echo "<ul><li><a>". $u2[0]. "</a></li>";
}
这第二个查询是正确的,因为我已经回显了数组并且没关系。但它给了我WHILE
循环的错误。
答案 0 :(得分:5)
我认为错误可能在这里:
$query3 = mysql_query("SELECT id, nome FROM utilizadores WHERE id=$id_user");
如果&#34; nome&#34;确实&#34; nome&#34;而不是&#34;名称&#34;然后尝试这个查询:
$query3 = mysql_query("SELECT `id`, `nome` FROM utilizadores WHERE id='$id_user'");
请注意,`与&#39;不同。
答案 1 :(得分:1)
你可以试试这个
$query3 = mysql_query("SELECT id, nome FROM utilizadores WHERE id=$id_user");
$utt = array();
while ($result2 = mysql_fetch_array($query3)) $utt[] = $result2;
foreach ($utt as $u2){
echo "<ul><li><a>". $u2[0]. "</a></li>";
}
你不能在mysql_fetch_array上使用连接句柄:)
array mysql_fetch_array ( resource $result [, int $result_type = MYSQL_BOTH ] )
你应该使用mysqli或pdo进行数据库处理:)
答案 2 :(得分:0)
$query3 = mysql_query("SELECT id, nome FROM utilizadores WHERE id=$id_user");
$utt = array();
while ($result2 = mysql_fetch_array($query3, $con)) $utt[] = $result2;
foreach ($utt as $u2){
echo "<ul><li><a>". $u2[0]. "</a></li>";
}
在你的第二个循环中删除$ con