Php Codeigniter自动删除数据库查询中的斜杠?

Php Codeigniter自动删除数据库查询中的斜杠?,php,codeigniter,Php,Codeigniter,我有一个SQL INSERT查询,它的字段中有一个斜杠。以下是PHP中的字符串: “\\\\192.168.2.10\\datastore” 这里是我的回声: '\\192.168.2.10\datastore' 上述字符串是查询的一部分,用于此方法: $this->db->query($sql) 但是,当我查看数据库时,它被写为: \192.168.2.10数据存储 我怎样才能阻止这种事情发生?我应该关闭什么来阻止codeigniter这样做 更新 我可能忽略了一些东西,但在PHP和MySQL

我有一个SQL INSERT查询,它的字段中有一个斜杠。以下是PHP中的字符串:

“\\\\192.168.2.10\\datastore”

这里是我的回声:

'\\192.168.2.10\datastore'

上述字符串是查询的一部分,用于此方法:

$this->db->query($sql)

但是,当我查看数据库时,它被写为:

\192.168.2.10数据存储

我怎样才能阻止这种事情发生?我应该关闭什么来阻止codeigniter这样做

更新
我可能忽略了一些东西,但在PHP和MySQL中,这些反斜杠都是转义字符。您需要为您的查询转义它们,否则它们将自行转义

$datastore = $this->db->escape($client_details['datastore']);
$sql = "INSERT INTO table (datastore) VALUES ('$datastore')";
我很确定
mysql\u real\u escape\u string()
也可以,但我们使用的是CI,所以最好充分利用它

考虑使用CI的活动记录(自动转义所有查询)或查询绑定(链接页面中的引用),否则必须像往常一样手动执行


有关使用CI转义查询的更多信息:

您能用测试输出显示一些代码吗?在运行查询之前的哪一点会发生转换?@Pekka您在问题(第二个)中看到的回音就在实际查询的正上方。更新问题。@Abs:echo为什么不包含完整的SQL查询?@hakre我试图简化代码。这个查询相当大。然后把它放进去,否则就不清楚发生了什么。太好了!将mysql\u real\u escape\u string
包装在麻烦的变量周围,将其排序。我刚刚意识到反斜杠也是mysql的转义字符。我只是专注于PHP!非常感谢你的帮助。我只是在使用CI时使用了
$this->db->escape
。最好检查一下其余的查询,确保正确地转义它们。我强烈建议使用CI的活动记录。这就像MySQL/PHP基础知识,逃避查询。我希望更接近数据库,不需要抽象层,但我会研究它!
$datastore = $this->db->escape($client_details['datastore']);
$sql = "INSERT INTO table (datastore) VALUES ('$datastore')";