在数据库中,我有一个这样的字符串:Caisse primaire d'assurance maladie
现在,当我尝试在PHP脚本中查找它时,它不返回任何项。
$array=array("Caisse primaire d'assurance maladie","Mairies","Hotels");
$in_list = "'".implode("','",$array)."'";
$stmt = $this->db->prepare('SELECT libelle,activite,adresse,tel,lat,lng FROM etablissements where type IN ('.$in_list.')');
$stmt->execute();
$stmt->bind_result($libelle,$activite,$adresse,$tel,$lat,$lng);//the $stmt is empty现在,如果我尝试仅查找Mairies或Hotels,它将返回结果。这意味着撇号阻止了我准备好的查询正确运行。我该如何解决这个问题呢?
发布于 2012-02-10 18:04:43
我怎样才能解决这个问题。
通过使用real准备好的查询,而不仅仅是模拟它。
或者通过转义你的字符串。
发布于 2012-02-10 17:37:04
首先使用mysqli_real_escape_string函数转义您的查询。
发布于 2012-02-10 17:48:11
字符串"Caisse primaire d‘Caisse maladie“在it.Maybe中有一个单引号,这个单引号意外地结束了您的sql字符串。
我建议您先打印您的sql语句,检查它是否正确。:)
https://stackoverflow.com/questions/9225593
复制相似问题