[英]MySQL LIKE Statement and PHP Variable
我需要以下代碼才能正常工作。
我正在嘗試使用PHP變量,並向其中添加[charlist]通配符語句
有人可以幫忙弄清楚為什么它不起作用。
基本上,如果我刪除了[charlist]通配符,它會起作用,但是我需要它來查找PHP變量中的所有字母
我的代碼如下
LIKE ''[' $searchWord ']%''
要使用字符類,您需要使用REGEXP運算符。
另外,在字符類之后,您需要指示重復運算符。 %匹配任何字符串(並且僅適用於LIKE),但是如果要應用它以便匹配字符類中包含的任何字母序列,則需要執行以下操作:
$query = '`column` REGEXP "[' . $searchWord . ']+"';
或者,使用*匹配0或更大。 (+為1或更大)
如果$ searchWord是一個數組,請先調用implode對其進行嘗試:
$listOfCharacters = str_split($searchWord, 1);
$implodedString = implode(',', $listOfCharacters;
內嵌的字符串現在是逗號分隔的字符串,而不是數組。 PHP本身不會將數組轉換為字符串。 然后,您可能可以像這樣使用它:
LIKE ''[' $implodedString ']%''
盡管我對在不使用字符串並置的情況下使用它感到懷疑。 我們在這里錯過一些代碼嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.