我正在尝试替换 ' 在 php 中的一个字符串中匹配的所有内容,但我不明白为什么它不起作用。我是 php 新手。
指令是:
$val = "Hello I'm newer in PHP.";
$val = str_replace("'", "''", $val);
我之前尝试设置 backslah,但它也不起作用
请问你能帮帮我吗?
我正在尝试替换 ' 在 php 中的一个字符串中匹配的所有内容,但我不明白为什么它不起作用。我是 php 新手。
指令是:
$val = "Hello I'm newer in PHP.";
$val = str_replace("'", "''", $val);
我之前尝试设置 backslah,但它也不起作用
请问你能帮帮我吗?
你想要的是让你的字符串“db-safe”。您在这里有几个选择:
如果您使用mysql_real_escape_string
的是“老式”mysql 驱动程序 (mysql_connect),请使用:
$str = mysql_real_escape_string("我是 PHP 新手");
PDO::quote()
如果您使用的是 PDO,请使用:
$conn = 新 PDO(....); $str = $conn->quote("我是 PHP 新手");
使用准备好的语句插入/更新表(参见http://php.net/manual/de/mysqli.quickstart.prepared-statements.php)。
就我个人而言,我更喜欢准备好的语句,因为如果您进行多次插入/更新,它也会加快您的查询速度,并且是最安全的方式。
除了第一行末尾缺少分号外,您编写的代码没有任何问题:
$val = "Hello I'm newer in PHP.";
$val = str_replace("'", "''", $val);
echo $val; // Hello I''m newer in PHP.