2009-12-25 38 views
7

我的數據庫中有姓名記錄偶爾包含撇號,如Joe's Bar和我剛剛編碼在PHP中的查詢腳本,抓住該領域,並堅持與通常的$query = "SELECT address FROM restaurants WHERE name='$name'"; select語句而某些餐廳名稱中的撇號使愛情火車出軌。撇號正在打破我的MySQL查詢在PHP

如何防止這種情況發生?

Snide答案 - 使用與通過PHP將它們插入到數據庫時相同的技術。
Rebuttal - 我遇到了同樣的問題,然後直接使用PHPMyAdmin直接使用PHPMyAdmin進行操作,但這不能再被忽略。

謝謝您在假期中花時間回答。

回答

17

你在該行之前必須$name = mysql_real_escape_string($name);看看。

你可能也想閱讀SQL Injections,因爲你的輸入顯然是unsanitized。