在Codeigniter中转义SQL查询

我正在使用CodeIgniter将一些数据插入MySQL表中。因为我正在使用INSERT IGNORE

INTO并且不想编辑活动记录类以启用此功能,所以我正在手动生成SQL查询。

$this->db->query("INSERT IGNORE INTO my_table(lat, lng, date, type)

VALUES ('" . $data['lat'] . "', '" . $data['lng'] . "', '" . $data['date'] . "', '" . $data['type'] . "')");

当字符串中$data['type']包含单引号时,查询失败。如何使这些需要转义的字符自动转义,例如使用活动记录时?

回答:

另一种方法是使用查询绑定,该绑定会自动转义所有值:

$sql = "INSERT IGNORE INTO my_table(lat, lng, date, type) VALUES (?,?,?,?);"; 

$this->db->query($sql, array($data['lat'], $data['lng'], $data['date'], $data['type']));

以上是 在Codeigniter中转义SQL查询 的全部内容, 来源链接: utcz.com/qa/398122.html

回到顶部