2017-05-21 50 views
-2

我有一个PHP变量引用包含撇号的字符串,但是当我引用这个变量时,它认为我试图结束字符串。我的变量是从一系列表格数据中读取的,所以我不能在表格中的每个撇号前面加上“\”。如果$foo包含字符串“不要”,我如何正确地说'$foo'没有它试图结束字符串。谢谢。如何忽略php中的引号内的撇号?

+0

您需要了解_escaping_。 – SLaks

+1

这似乎与数据库相关,并且引用正在作为sql注入。这个问题虽然由于缺乏代码而不清楚。无论如何,请使用准备好的声明。 –

+0

如果你不打算更新你的问题来保存完整的代码,那么我就不能帮你。这个问题也可以通过一些可能的重复来完成。为此(不清楚)我提出了一个-1的问题。 –

回答

1

你在想,你需要添加转义字符(“\”)是正确的。

要使用数据库数据即时执行此操作,可以使用php函数addslashes。

这样:

$escapedString = addslashes($string); 

你也可以用字符串做这个精度更高替换功能:

$escapedString = str_replace("'", "\'", $string);