我試圖用一些特殊字符(如撇號)將一些名稱插入到使用php的mysql數據庫中。例如:在php中插入帶有特殊字符的名字在mysql中
INSERT INTO PLAYERS VALUES('{$players[$n][1]}','$nom_team');
其中$players
是包含名稱作爲N'Zogbia
,N'Diaye
等的陣列。然而,這將導致一個錯誤。
我已經使用和addslashes功能的嘗試:
$players[$n][1] = addslashes($players[$n][1]);
,但這不能正常工作。數據庫中保存的是N\'Zogbia
,有時候還有N\\\\\\\\\\'Diaye
。
我已經用盡想法解決問題。我希望你們能幫助我。
想法是,如果您使用'addslashes()'來轉義MySQL的值,那麼在某些時候讀取值時,您會使用'stripslashes()'。 – 2013-02-16 16:44:09
你最有可能啓用'magic_quotes'。 – Kermit 2013-02-16 16:46:44
你還應該看看使用準備好的語句和佔位符,這樣就可以避免完全使用'addslashes'和'stripslashes'。 – andrewsi 2013-02-16 16:47:05