使用PHP和Mysql插入后在表中获取特殊字符

时间:2017-02-04 11:21:56

标签: php mysql

使用PHP和MySQL将数据插入数据库时​​遇到问题。我在下面解释我的代码。

$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,我不需要在原始描述中插入​特殊字符。请帮帮我。

2 个答案:

答案 0 :(得分:0)

使用htmlspecialchars()

$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')");

当您从数据库$获取描述时,将转换为:$ by HTML。

在查询中切换双引号和单引号使其更容易阅读。它也不要求您在查询中使用.

在表名和列名周围使用反引号`来预防mysql reserverd words错误。

答案 1 :(得分:0)

您需要更改表格格式

1)更改数据库格式

 O(n**k) > O(log(n, base)) 

2)更改表格式

ALTER DATABASE Database_Name CHARACTER SET utf8;

此后你的问题将得到解决