我有表:在數據庫中搜索數據。 PHP
|-id-|--------name-------|
| 1 | George Martin |
我拉數據,如:
function search ($query)
{
$query = trim($query);
$query = mysql_real_escape_string($query);
$query = htmlspecialchars($query);
if (!empty($query))
{
if (strlen($query) < 3) {
$text = '<p>Enter 3 or more letters.</p>';
} else if (strlen($query) > 128) {
$text = '<p>Too many letters.</p>';
} else {
$q = "SELECT *
FROM `table` WHERE `name` LIKE '%$query%'";
$result = mysql_query($q);...
當我在搜索 「喬治」 的類型,它發現 - 「喬治·馬丁」
當我輸入我的搜索「馬丁」,它發現 - 「喬治馬丁」
當我輸入我的搜索「馬丁喬治」,它沒有找到我任何東西。
有沒有辦法做最後拉動而不用name
和second name
新表?
你可以考慮做在桌子上的FTS指數和使用MATCH而不是像搜索。 – 2015-02-09 07:24:28
你可以拆分'$ query'並且匹配單個查詢嗎? – Uzair 2015-02-09 08:07:26
正如http://php.net/manual/en/migration55.deprecated.php所說,「原來的MySQL擴展現在已被棄用,並且在連接到數據庫時會生成E_DEPRECATED錯誤,而是使用MySQLi或PDO_MySQL擴展名」 。你應該使用PDO:http://php.net/manual/en/book.pdo.php – Mawg 2015-02-09 08:55:21