0

我在 SQL 中有一些使用过的保存数据,名称中有单引号(例如,Marco D'Alba。通过 php,我在我的网站上打印这些名称,但 SQL 会像这样保存该名称:

马可·德安杰洛。

当我打印这些名称时, Marco D\'Angelo会被打印出来。

有什么简单的修复方法吗?

4

2 回答 2

0

请像这样打印:

$text = "Marco D'Alba";
echo mysql_real_escape_string($text);

mysql_real_escape_string() 函数自 PHP 5.5.0 起已弃用

$text = "Marco D'Alba";
echo mysqli_real_escape_string($text);

如果启用了magic_quotes_runtime,大多数从任何类型的外部源(包括数据库和文本文件)返回数据的函数都将使用反斜杠转义引号。如果magic_quotes_sybase 也打开,则使用单引号而不是反斜杠对单引号进行转义。

您必须在 php.ini 中检查并设置“magic_quotes_runtime”和“magic_quotes_sybase”

于 2015-11-27T17:30:15.127 回答
0

如果您想打印并摆脱单引号,请尝试使用

echo stripslashes("Marco D\'Angelo");
于 2015-11-27T17:57:52.660 回答