【发布时间】:2012-06-21 02:34:06
【问题描述】:
编辑某些可接受的答案已删除:( 该问题的解决方案是使用这样的函数:
ifnull(trees.primarycolor, '') LIKE %,
开始问题: 你好互联网朋友,家人,同事和随机陌生人。我遇到了一个肯定会让网站管理员兴奋的困境。
我的查询如下:
$result = mysql_query("SELECT trees.*
$bottom_query
FROM trees
INNER JOIN price
ON trees.ID=price.treeid
where trees.primarycolor like
'$primary_color'
and trees.secondarycolor like
'$secondary_color'
and trees.fallcolor like
'$fall_color'
and trees.droughtresistant like
'$drought_resistant'
and trees.height like
'$height'
and trees.spread like
'$spread'
and trees.trunkcolor like
'$trunk_color'
and trees.flowering like
'$flowering'
and trees.fruitproducing like
'$fruit_producing'
");
其中 $var_name 是一个字符串,例如 red 或 green 或 true 或 false 或通配符 %。
实际打印出来的查询如下:
SELECT trees.* , price.10mm , price.20mm FROM trees INNER JOIN price ON
trees.ID=price.treeid where trees.primarycolor like '%' and trees.secondarycolor like '%'
and trees.fallcolor like '%' and trees.droughtresistant like '%' and trees.height like
'%' and trees.spread like '%' and trees.trunkcolor like '%' and trees.flowering like '%'
and trees.fruitproducing like '%'
我的问题是,即使 WHERE CLAUSE 中有所有通配符,查询也不会返回任何结果。
我正在使用 PHP 和 HTML - 不确定是什么版本,很可能是最新的。
我想使用 % 作为 * 来选择数据库中任何类型的所有内容。
请帮助我互联网的好人,荣耀将属于你:D
【问题讨论】:
-
您是否打算用更具体的内容替换一个或多个类似的子句?否则你根本不需要 WHERE 子句。
-
哈维你好,谢谢你,我会试试的。
-
在通配符之前,这是否返回任何结果? SELECT trees.* , price.10mm , price.20mm FROM trees INNER JOIN price ON trees.ID=price.treeid
-
我的意图是让用户从下拉框中选择 ANY,或者选择多种颜色中的一种,并且变量将是 fileld,带有用于选择 ANY 的 % 或单词 (颜色),如果他们选择其他方式。
-
雷切尔,我会尽力让你知道
标签: php sql database web sql-like