不使用CI活动记录错误?

时间:2011-12-24 13:37:14

标签: php codeigniter

我发现我需要经常编写查询而不经常使用CI的活动记录,例如:

$query = "INSERT INTO votes (userid, itemId) VALUES ({$userId},{$itemId})
                      ON DUPLICATE KEY UPDATE weight = {$vote}";

$query = $this->db->query($query);

由于这个原因,我是否应该担心性能或安全性损失?

2 个答案:

答案 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安全功能。

检查出来:

这是一个更轻松的阅读: