我发现我需要经常编写查询而不经常使用CI的活动记录,例如:
$query = "INSERT INTO votes (userid, itemId) VALUES ({$userId},{$itemId})
ON DUPLICATE KEY UPDATE weight = {$vote}";
$query = $this->db->query($query);
由于这个原因,我是否应该担心性能或安全性损失?
答案 0 :(得分:4)
您可以使用查询绑定,您可以享受安全性的灵活性。但是你将来我无法切换数据库。
http://codeigniter.com/user_guide/database/queries.html
示例:
$sql = "SELECT * FROM some_table WHERE id = ? AND status = ? AND author = ?";
$this->db->query($sql, array(3, 'live', 'Rick'));
使用绑定的第二个好处是值是 自动转义,产生更安全的查询。你不必 记得手动转义数据;引擎自动执行此操作 你。
答案 1 :(得分:2)
性能不应成为问题。如果有的话,可能会更好。
你会放弃CodeIgniter的bult-in安全功能。
检查出来:
这是一个更轻松的阅读: