删除PHP中的单引号
我在尝试从php文档中插入一些数据时遇到了一些问题,直到得到2个包含引号的值,如: 劳累 我想删除'的空间,甚至没有 ->Rempli d etoiles 以下是我尝试过的:删除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
$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