4

我有插入单引号的列。因为$this->db->query已经处理了所有特殊字符。但我的问题是我在插入时插入像ganesh 这样的数据,只插入 ganesh;缺少单引号后的数据。所以我开始使用$this->db->escape,但这会在我的数据中添加单引号,这不是如何防止这种情况所必需的

我的代码

$sql="insert into tablename (list_name,list_address) values(?,?)" 
$res=this->db-query($sql,array($name,$add));

我的错误是在前端。不是后端。我将删除问题。

4

2 回答 2

5

在复杂查询的情况下,我发现像这样发送原始查询更容易:

$query = "your query";
$result = $this->db->query($query);

在将变量插入查询之前不要忘记转义变量,如下所示:

$var = $this->db->escape($var);
于 2012-11-29T23:26:30.753 回答
2

如果要使用单引号保存数据,则需要在将数据保存到数据库之前添加斜杠,如下所示:

$sql="insert into tablename (list_name,list_address) values(?,?)";
$res=this->db-query($sql,array(addslashes($name), $add));

然后将其保存到您的数据库中,在执行此操作后,您很可能需要使用stripslashes()从数据中删除斜杠,然后再将其输出到浏览器。

于 2012-12-18T08:54:19.807 回答