【发布时间】:2014-11-12 02:49:11
【问题描述】:
我在尝试从 php 文档中插入一些数据时遇到了一些问题,直到我得到 2 个包含引号的值,例如:
“Rempli d'étoiles”
我想删除 ' 一个空格甚至什么都没有。
-> "Rempli d etoiles" 这是我的尝试:
$posdeapostrophe = strpos($array, '\'');
if ($posdeapostrophe == false)
{
...
}
else
{
// it goes in this block when it detects a ', but seems like trim doesnt work as i would
$newchaine = trim($array, '\'');
$sql .= "INSERT INTO categorie (id_cat,name_cat) VALUES (" . $cpt . ",'" .$newchaine . "'); ";
谢谢!
【问题讨论】:
-
您也可以尝试为 SQL 上下文转义字符串。或者切换到更新的数据库 API 并为简单起见使用绑定参数。
-
为什么,它会抛出错误吗? (最有可能是)。逃避你的价值观,或者更好的是,使用prepared statements,或PDO with prepared statements。并且您将能够在您的数据库中输入相同的字符串,而无需使用该额外功能,而且它会更安全。
-
使用准备好的查询或
mysqli_real_escape_string()....mysql_real_esacpe_string(),如果您使用的是旧版本。但请尽快将其更改为至少mysqli。 -
str_replace 工作正常。好吧,我是 php 的新手,感谢 pdo 文档,我会检查一下。