-1

我正在尝试替换 ' 在 php 中的一个字符串中匹配的所有内容,但我不明白为什么它不起作用。我是 php 新手。

指令是:

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

我之前尝试设置 backslah,但它也不起作用

请问你能帮帮我吗?

4

2 回答 2

1

你想要的是让你的字符串“db-safe”。您在这里有几个选择:

  1. 如果您使用mysql_real_escape_string的是“老式”mysql 驱动程序 (mysql_connect),请使用:

    $str = mysql_real_escape_string("我是 PHP 新手");

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

    $conn = 新 PDO(....); $str = $conn->quote("我是 PHP 新手");

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

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

于 2013-11-09T21:47:58.270 回答
0

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

$val = "Hello I'm newer in PHP.";
$val = str_replace("'", "''", $val);
echo $val; // Hello I''m newer in PHP.
于 2013-11-09T21:22:16.480 回答