将1参数与mysql中的多个字段进行比较

时间:2011-04-29 12:04:21

标签: mysql

我想在我的查询中做这样的事情:

 $query = $mysqldb->make_query("SELECT * FROM dvd WHERE
 NAME LIKE '%{$str_param}%' OR
 CATEGORY={$str_param} OR
 TYPE={$str_param} OR BOOK={$str_param} OR 
 PAGE={$str_param}");

我将只使用1个参数,并将其与任何字段进行比较。但是我得到了这个警告:

mysql_fetch_assoc() expects parameter 1 to be resource, boolean given 

请提前帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

您的查询中有错误,因此make_query会返回FALSE而不是resource

由于str_param通常采用字符串,因此应将其括在单引号中:

SELECT * FROM dvd WHERE
 NAME LIKE '%{$str_param}%' OR
 CATEGORY='{$str_param}' OR
 TYPE='{$str_param}' OR BOOK='{$str_param}' OR 
 PAGE='{$str_param}'

确保对任何用户提供的数据使用mysql_real_escape_string以避免SQL注入。