我有一个PHP函数接受一个名为$ letter的参数,我想将参数的默认值设置为“任意数字或任何符号”的模式。我怎么能这样做?
这是我的问题。
select ID from $wpdb->posts where post_title LIKE '".$letter."%
我尝试在wordpress stackexchange发帖,他们告诉我在这里发帖,因为这是一个特定于wordpress的SQL /通用编程问题。
谢谢!回复非常感谢:)
答案 0 :(得分:0)
为了匹配数字或字母(我不确定你的符号是什么意思)你可以在MySQL中使用RLIKE运算符:
SELECT ... WHERE post_title RLIKE '^[A-Za-z0-9]'
这意味着默认情况下$letter
将是[A-Za-z0-9]
- 这意味着从a到z的所有字母(两种情况)和0-9的数字。如果您需要特定符号,可以将它们添加到列表中(但-
必须是第一个或最后一个,否则它具有范围的特殊含义)。 ^
字符表示它位于字符串的开头。所以你需要这样的东西:
"select ID from $wpdb->posts where post_title RLIKE '^".$letter."%'"
当然,如果您在不清理输入的情况下构建查询,请务必警告您不要使用SQL注入攻击(确保其中没有任何'
(撇号)。
修改强>
要匹配以数字开头的标题,请使用[0-9]
- 这意味着它将匹配0到9之间的一位数