删除PHP中的单引号

删除PHP中的单引号,php,quotes,Php,Quotes,我在尝试从php文档中插入一些数据时遇到了一些问题,直到得到2个包含引号的值,如: 劳累 我想删除'的空间,甚至没有 ->Rempli d etoiles 以下是我尝试过的: $posdeapostrophe = strpos($array, '\''); if ($posdeapostrophe == false) { ... } else { // it goes in this block when it detects a ', but seems like trim

我在尝试从php文档中插入一些数据时遇到了一些问题,直到得到2个包含引号的值,如:

劳累

我想删除'的空间,甚至没有

->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 . "'); ";
谢谢

您可以使用str\u replace

也可以使用代替strpos和replace来转义单引号

mysqli_real_escape_string($con, $array ); //for mysqli
mysql_real_escape_string($array , $con); //for mysql

你现在所做的是相当危险的

首先,您应该真正使用当前推荐的执行查询的方法,即使用PDO:

这既可以解决引号问题,也可以解决您目前在代码中引入的SQLi漏洞带来的巨大安全漏洞

如果您仍然希望替换文本中的单引号,您确实可以按照@scrowler的建议进行操作,即:

$your_string=str_replace',$your_string


但请在与数据库交互时使用PDO,因为这是唯一安全且推荐的方法。

您也可以尝试为SQL上下文转义字符串。或者切换到较新的数据库API并使用绑定参数以简化操作。为什么,它会引发错误?很可能是这样。逃避你的价值观,或者更好的是,使用,或者。您可以在数据库中输入相同的字符串,而不必使用额外的函数,而且更安全。使用准备好的查询或mysqli\u real\u escape\u string。。。。如果您使用的是旧版本,则使用mysql\u real\u esacpe\u字符串。但请尽快将其更改为至少mysqli。str_替换工作正常。嗯,我对php有点陌生,感谢pdo文档,我会检查它。我会尽快尝试学习它,然后改变我的学习方式,谢谢你的帮助!
mysqli_real_escape_string($con, $array ); //for mysqli
mysql_real_escape_string($array , $con); //for mysql