这是我在这里的发布,因为大多数人都要感谢所有人。
我在我的应用程序中使用codeigniter,我需要做的是以下我在我的数据库中有一个名称库存的字段,这个字段是整数值,当我进行销售时我需要做以下事情他将不得不减少我在php中销售此字段的数量将是这样的。
$sql = mysql_query( sprintf( “UPDATE profile_posts SET cliks = cliks + 1 WHERE id = %d” , $id ) ) or die( mysql_error( ) );
是否有一些codeigniter功能,我可以这样做,或者我必须为此做一个特定的SQL:
答案 0 :(得分:0)
如果您使用Codeigniter处理MySQL数据库,可以使用 Codeigniter Active Record Class 简化代码:
$data = array(
'title' => $title,
'name' => $name,
'date' => $date
);
$this->db->where('id', $id);
$this->db->update('mytable', $data);
// Produces:
// UPDATE mytable
// SET title = '{$title}', name = '{$name}', date = '{$date}'
// WHERE id = $id
...但我强烈建议 Datamapper ORM ,它允许您将数据库表和条目作为对象进行操作。如果你只习惯纯粹的MySQL,这个概念可能看起来有点奇怪,但是一旦掌握了它,它就可以节省大量时间,而且你永远不必再手动编写完整的mySQL查询。
使用Datamapper,您可以像这样编写查询:
$profile_post = new Profile_post(); // POINTS TO A MYSQL TABLE NAMED 'profile_posts'
$profile_post->get_by_id($id); // GET THE PROFILE POST TO BE UPDATED
$success = $profile_post->update('cliks', 'cliks+1');