我已经使用mysql_real_escape_string
在数据库中输入信息,但是当我在查询中返回信息时,文本中会显示\\\'
。我这样做是为了使插入查询在保存为以前时不再在'
中停止。如果文章中包含撇号,它通常会在中途停止保存该文章的标题。该问题已得到解决,但现在我得到\\\'
出现撇号的地方。
示例:Microsoft\\\'s $15 Windows 8 upgrade offer to run from June 2nd to January 31st, will include free workshops
我从数据库返回列表的查询代码如下:(请注意,这是摘录,因此不包含此循环的结束)
<?php
$q2 = "SELECT * FROM ReadLater WHERE Folder_ID = 0 AND User_ID = $loggedInUser->user_id ORDER BY dt_added DESC";
$r2 = mysql_query($q2);
echo "<div id='folderstitleright'>Unread</div>";
if(mysql_num_rows($r2)>0)
{
echo "<ul id='foldersarticlelist'>";
$sr2=1;
while($row = mysql_fetch_assoc($r2))
{
echo "
<li class='box'>
等等
知道如何阻止这种情况吗?我已经测试了魔术引号是否已启用,但是对于Web主机,我无法打开它们(我发现,可能有一种非常复杂的方法,但我还没有找到),并且他们还说他们忽略了.htaccess文件中的php标志。
我试图做一个
\\\' to '
的preg_replace,但是到目前为止还没有成功,根据我的尝试,它完全破坏了查询,但是我很可能执行错误或者将其放置在上面的代码中错误的位置。 最佳答案
请勿与此同时使用preg_replace,而只需使用str_replace。
$text = str_replace("\\\\\\", "'", $text);
// Use 6 slashes as '\\' is really '\' because '\-' is an escape sequence.
关于php - PHP MYSQL结果中的三斜杠,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10788847/