我在尝试从php文档中插入一些数据时遇到了一些问题,直到我得到2个包含引号的值,如:
“Rempli'é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 . "'); ";
谢谢!
答案 0 :(得分:0)
您可以使用str_replace()
。
$array = "Some string's";
$posdeapostrophe = strpos($array, "'");
$val = '';
if ($posdeapostrophe !== false)
{
$val = str_replace("'", "\'", $array);
}
echo $val;
也可以使用而不是strpos()
和replace()
来转义单引号。
mysqli_real_escape_string($con, $array ); //for mysqli
mysql_real_escape_string($array , $con); //for mysql
答案 1 :(得分:0)
你目前正在做的事情非常危险。
首先,您应该使用当前推荐的方法来执行使用PDO的查询:http://php.net/manual/en/book.pdo.php
这将解决您的代码中当前引入的引号问题和大量安全漏洞(SQLi漏洞)。
如果您仍想替换文本中的单引号,您确实可以执行@scrowler建议的内容:
$your_string = str_replace("'", "", $your_string);
但是在与数据库交互时请使用PDO,因为这实际上是唯一(安全和推荐)的方式。