會遇到這種問題,顯然你是把 user 貼上來的資料,直接串在 SQL 字串上就往資料庫送吧?所以解法是:
<pre class="c" name="code">CREATE TABLE ithelp150121(
id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
eng CHAR(30) NOT NULL
);
INSERT INTO ithelp150121(eng) VALUES
('My name\'s \"eric\"');
SELECT *
FROM ithelp150121;
+----+------------------+
| id | eng |
+----+------------------+
| 1 | My name's "eric" |
+----+------------------+
用 \ 來帶,這叫逸出序列.
hello
雖然說可以透過\或者或者php的一些功能進行過濾字元的動作
但我還是建議使用pdo的方式進行sql query
你可以開啟pdo的extenstion就可以使用了
或者有第三方的framework可進行套用
這邊我建議你使用medoo
http://medoo.in/
他是一個精簡的fw 以不影響你目前既有的結構下進行套入會讓你的網站更加安全
這邊是我前鎮子的使用心得
https://medium.com/@yish/medoo-16c56f4d3587
enjoy it.
iT邦應該是用htmlspecialchars()來處理的吧
看了下原始碼
「'」已經轉換成HTML實體符號'