2011-02-07 28 views
0

我做一個AJAX建議功能

用戶給出一個字的輸入(比如ICE),那麼ajax腳本將這個傳遞給一個.php腳本,並且該腳本在數據庫中查找它,並且應該建議單詞ICECREAM。

這是我卡住的地方。我需要一個這樣的查詢:

SELECT * FROM table WHERE first str_len($string) characters = $string 

你能幫我一下嗎?

回答

3

你想爲此LIKE

SELECT 
... 
WHERE 
    field LIKE '$string%' 
+4

只是不要忘記正確的逃避 - 而是使用準備好的語句與PDO或MySQLi,永遠不會$查詢字符串! – chx 2011-02-07 22:09:37

0
SELECT * FROM table WHERE first LIKE 'string%' 
+0

我不認爲你會想在這種情況下領先的通配符。 – 2011-02-07 22:09:45

0
$length = strlen($input); 
$statement = $pdoObject->prepare("SELECT * FROM table WHERE LEFT(first, $length) = :input"); 
$statement->execute(array(':input' => $input)); 

這是安全的,因爲$length保證是一個整數,所以沒有必要使它成爲一個參數。