我寫了一個非常簡單的mysql行,用於搜索關鍵字的非常簡單的搜索欄,但是我遇到了一個錯誤。 (我有一種感覺,那是因爲搜索的長度)PHP-Mysql錯誤與%
$query = "SELECT * FROM entries WHERE name='%".$search."%' ";
作品,但
$query = "SELECT * FROM entries WHERE desc='%".$search."%' ";
沒有。
在數據庫中,名稱大約有20個字符,而desc大約有700個字符。我檢查拼寫和所有內容,它只是輸出一個錯誤。
這是不行的,因爲它有太多的字符掃描?
非常感謝(提前)!
2個問題:1。你沒有錯誤檢查(否則這個問題qould沒有被要求在所有或以不同的方式),2。你可能是一個目標SQL注入。您應該使用準備好的語句,或者至少使用'mysql_real_escape_string()'函數。 – glglgl
謝謝,但我不知道你將如何做Mysql的錯誤檢查? (順便說一句,是的,我保護我的SQL,但我沒有把它包括在我的例子裏都是) – Ninjiangstar
好吧,如果你發現函數調用出錯了,你可以調用例如['mysql_error()'](http://php.net/manual/en/function.mysql-error.php)如果你使用舊界面。 mysqli和PDO接口肯定有相似的功能。 – glglgl