可能重复:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
目前有效......
$resultInput = mysql_query("SHOW COLUMNS FROM " . $table. " WHERE Field NOT IN ('id', 'created', 'date_modified', 'content', 'type', 'bodytext', 'project_content', 'content_short') AND Field NOT LIKE '%_image%'");
但是我想删除名称内容的所有字段,并将其添加到LIKE函数中,例如%content%
$resultInput = mysql_query("SHOW COLUMNS FROM " . $table. " WHERE Field NOT IN ('id', 'created', 'date_modified', 'type', 'bodytext') AND Field NOT LIKE ('%_image%', %content%)");
但这似乎不起作用?并返回“
警告:mysql_num_rows()期望参数1为资源,bo中给出布尔值 第33行的C:\ xampp \ htdocs \ framework.php
答案 0 :(得分:3)
您正在尝试的实际上是语法错误。 LIKE
条件必须单独列出,并由AND
或OR
分隔。但是,在您的情况下,您可以通过将条件与|
:
REGEXP
SHOW COLUMNS
FROM " . $table. "
WHERE Field NOT IN ('id', 'created', 'date_modified', 'type', 'bodytext')
AND Field NOT REGEXP '_image|content'
因为正则表达式将匹配content
内的_image
或Field
模式模式,所以%
不需要任何其他等效字符1}} LIKE
中使用的通配符。
为了安全起见,我们假设已将$table
与要在此查询中使用的有效表名列表进行比较。
最后,您收到了致命错误 mysql_num_rows()
期望参数1为资源,因为您没有对查询结果执行错误检查。
$result_input = mysql_query("SHOW COLUMNS.....");
if (!$result_input) {
// Something's wrong
echo mysql_error();
}
else {
// ok, everything is working, proceed.
}