2017-02-04 42 views
0

我在使用PHP和MySQL將數據插入數據庫時​​遇到了問題。我在下面解釋我的代碼。插入後使用PHP和Mysql獲取特殊的charcter

$description=mysqli_real_escape_string($connect,"Big Rock AGD 6 pk for $8.99 ​/ 15pk $18.49"); 
$userqry=mysqli_query($connect,'INSERT INTO db_gallery 
(description) values ("'.$description.'")'); 

但是在插入一些特殊字符後會在下面給出的表中給出說明。

id       description 

1     Big Rock AGD 6 pk for $8.99 ​/ 15pk $18.49 

這裏我描述列數據類型爲text,我不需要插入帶有原始描述是​特殊字符。請幫幫我。

+0

I ca沒有再現你的錯誤。如果你用$ description做var_dump輸出是什麼? –

+0

可能是字符集問題。將連接,PHP頭和數據庫設置爲UTF-8。 – Qirel

+0

您可以通過preg_replace(「/ [^ a-zA-Z0-9 \ s] /」,「」,$ string)刪除特殊字符; –

回答

0

使用htmlspecialchars()。通過HTML $:

$description = mysqli_real_escape_string($connect, htmlspecialchars("Big Rock AGD 6 pk for $8.99 ​/ 15pk $18.49")); 
// Makes: Big Rock AGD 6 pk for $8.99 ​/ 15pk $18.49 
$userqry = mysqli_query($connect,"INSERT INTO `db_gallery` 
(`description`) values ('$description')"); 

當你從數據庫中獲取$的描述轉換爲。

在查詢中切換雙引號和單引號使閱讀起來更容易。它也不要求你在查詢中使用.

使用反斜槓`圍繞表和列名稱來指定mysql存儲單詞的錯誤。

+0

我用'htmlspecialchars'仍然是一樣的問題。 – subhra

0

您需要更改表格格式

1)變更後這個你萬阿英,蔣達清將得到解決

數據庫格式

ALTER DATABASE Database_Name CHARACTER SET utf8; 

2)變更表格式

ALTER TABLE Your CONVERT TO CHARACTER SET utf8;