我已插入带单引号的列。由于$this->db->query
已经处理了所有特殊字符。但我的问题是我在插入时插入像 ganesh's 这样的数据,只插入了ganesh;单引号丢失后的数据。所以我开始使用$this->db->escape
,但这会为我的数据添加单引号,而不需要如何防止此
我的代码
$sql="insert into tablename (list_name,list_address) values(?,?)"
$res=this->db-query($sql,array($name,$add));
我的错误在前端。不是后端。我会删除这个问题。
答案 0 :(得分:5)
在复杂查询的情况下,我发现像这样发送原始查询更容易:
$query = "your query";
$result = $this->db->query($query);
在将变量插入查询之前不要忘记转义变量,如下所示:
$var = $this->db->escape($var);
答案 1 :(得分:2)
如果您想使用单引号保存数据,则需要在将数据保存到数据库之前为数据添加斜杠,如下所示:
$sql="insert into tablename (list_name,list_address) values(?,?)";
$res=this->db-query($sql,array(addslashes($name), $add));
然后将其保存到您的数据库中,执行此操作后,您很可能需要使用stripslashes()
从数据中删除斜杠,然后再将其输出到浏览器。