Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress MYSQL选择通配符包含空值的位置_Mysql_Select_Where_Wildcard - Fatal编程技术网

Wordpress MYSQL选择通配符包含空值的位置

Wordpress MYSQL选择通配符包含空值的位置,mysql,select,where,wildcard,Mysql,Select,Where,Wildcard,我的狗数据库包含一列“hd”,其中包含一个介于a和E之间的值,如果不知道hd等级,则不包含任何值 我正在实现一个用户表单,用于从Wordpress查询数据库 我希望大多数用户希望选择高清评级介于A和C之间的狗,我已经能够通过以下方式做到这一点: WHERE hd REGEXP "[A|B|C]"; 但是似乎没有一个使用REGEXP的通配符解决方案,所以如果用户不需要选择HD,我可以使用它 WHERE hd LIKE "%"; 然而,如果我使用LIKE,我可以一次搜索一个hd代码。 如 其中h

我的狗数据库包含一列“hd”,其中包含一个介于a和E之间的值,如果不知道hd等级,则不包含任何值

我正在实现一个用户表单,用于从Wordpress查询数据库

我希望大多数用户希望选择高清评级介于A和C之间的狗,我已经能够通过以下方式做到这一点:

WHERE hd REGEXP "[A|B|C]";
但是似乎没有一个使用REGEXP的通配符解决方案,所以如果用户不需要选择HD,我可以使用它

WHERE hd LIKE "%";
然而,如果我使用LIKE,我可以一次搜索一个hd代码。 如 其中hd像“B”

我还通过以下方式选择了多个值:

WHERE hd IN ('A','B','C');
但我做不到

WHERE hd IN ("%");
但我真正需要的是对多个值或通配符进行选择,这些值或通配符可以传递给$\u POST数组中的SELECT语句

欢迎所有建议


加里

如何使用专栏本身

WHERE hd IN ('A','B','C')

hd
不是
NULL
时,这将起作用

另一种选择可能如下所示:

WHERE ((hd >= $hd_low and hd >= $hd_high) or $hd_low is null)

看来我自己找到了答案:

WHERE hd IN ('A','B','C','D','E','');
选择所有hd类别+空值

如果用户只想在a、B和C上进行选择,只需从表单中删除D、E和“”

WHERE hd IN ('A','B','C','D','E','');