我得到一个“警告:mysql_fetch_assoc()期望参数1是资源,布尔给定”使用以下代码:
$field_sql = 'SHOW FIELDS FROM '.$dbtable.' WHERE FIELD = '.$field;
$field_q = mysql_query($field_sql,$MJCONN);
$field_r = mysql_fetch_assoc($field_q);
}while($field_r = mysql_fetch_assoc($field_q));
我认为它与括号有关,但我无法解决问题,任何帮助都会非常受欢迎。
答案 0 :(得分:2)
mysql_query
会返回false
。我喜欢使用它代替mysql_query
:
function mysql_query2($sql,$conn=null) {
$r = $conn ? mysql_query($sql,$conn) : mysql_query($sql);
if( $e = mysql_error()) trigger_error("MySQL error: ".$e,E_USER_WARNING);
return $r;
}
执行查询,然后检查错误并使其成为PHP警告。这样,您可以轻松查看查询是否失败。
答案 1 :(得分:1)
我自己修理过,这是一个缺少字符的问题,在这种情况下引用。
解决方案:
$field_sql = 'SHOW FIELDS FROM `' . $table . '` WHERE FIELD = "' . $column . '"';
答案 2 :(得分:0)
$field_q
是FALSE
,因为您的查询失败了。见documentation。
修复您的查询以解决问题:)