一、一般
1.name LIKE '豬%' -> 找豬開頭的文字後面不論字數,例如:豬八戒、豬頭2.name LIKE '%豬%' -> 只有出現豬就算找到,如豬、神豬、豬頭
3.name LIKE '豬_' -> 限定字數只找豬開頭兩個字,底線在那邊就一定要有字
4.name LIKE '%豬%戒%' -> 只要字串包含順序有豬跟界就符合
二、應用搜尋
// 將字切開並加上% $arr = $this->utf8_str_split($keywords); $keywordSplit = implode('%',$arr); // 這樣比 '%$keywords%' 搜尋到更多結果 $sql = "SELECT * FROM user WHERE name LIKE '%$keywordSplit%'"; $rs = $pdo->query($sql); // 用UTF8切文字 function utf8_str_split($str, $split_len = 1){ if (!preg_match('/^[0-9]+$/', $split_len) || $split_len < 1) return FALSE; $len = mb_strlen($str, 'UTF-8'); if ($len <= $split_len) return array($str); preg_match_all('/.{'.$split_len.'}|[^\x00]{1,'.$split_len.'}$/us', $str, $ar); return $ar[0]; }
沒有留言:
張貼留言