语法错误,给定布尔值

时间:2012-09-11 19:32:34

标签: php mysql

我得到一个“警告: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));

我认为它与括号有关,但我无法解决问题,任何帮助都会非常受欢迎。

3 个答案:

答案 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_qFALSE,因为您的查询失败了。见documentation。 修复您的查询以解决问题:)