簡體   English   中英

MySQL LIKE語句和PHP變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM