我想在php中替换'for',请帮助

时间:2013-11-09 21:18:11

标签: php str-replace

我试图在php中替换所有'匹配的一个字符串,但我不明白为什么它不能正常工作。我是php的新手。

指令是:

$val = "Hello I'm newer in PHP.";
$val = str_replace("'", "''", $val);

我之前试图设置backslah,但它也没有工作

你能帮我吗?

2 个答案:

答案 0 :(得分:1)

你想要的是使你的字符串“db-safe”。你有几个选择:

  1. 如果您使用的是“old-school”mysql驱动程序(mysql_connect),请使用mysql_real_escape_string

    $ str = mysql_real_escape_string(“我是PHP的新手”);

  2. 如果您使用的是PDO,请使用PDO::quote()

    $ conn = new PDO(....); $ str = $ conn-> quote(“我是PHP的新手”);

  3. 使用预准备语句插入/更新表格(参见http://php.net/manual/de/mysqli.quickstart.prepared-statements.php)。

  4. 我个人更喜欢准备好的语句,因为如果你进行多次插入/更新,它也会加快你的查询速度,并且是最安全的方式。

答案 1 :(得分:0)

除了第一行末尾缺少分号外,您编写的代码没有错:

$val = "Hello I'm newer in PHP.";
$val = str_replace("'", "''", $val);
echo $val; // Hello I''m newer in PHP.