$data = array('lngCount' => 'lngCount + 1');
$this->default->where('strYear', date("Y"));
$query = $this->default->update('tblVisitorCounter', $data);
echo $this->default->last_query();
print_r($query);die();
我在代码点火器中具有以上内容。它不会更新数据库中的记录。我正在使用mssql。它显示了
更新“ tblVisitorCounter”设置“ lngCount” ='lngCount + 1'在“ strYear” ='2018'
当我直接在Microsoft SQL Server Management Studio中使用它时,它已正确更新。
我的CI更新有什么问题?
答案 0 :(得分:1)
我在这里看到2个问题:
第一
$query = $this->default->update('tblVisitorCounter', $data);
我想您想使用默认的数据库配置。
,并具有以下数据库配置:
$db['default'] = array(
'dsn' => '',
'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'database_name'
// etc.
);
然后您应该将数据库加载到某个地方,例如您的控制器使用$this->load->database();
,并使用$this->db->
注意::显然,您可以使用$default['your_config_option']=array()
,然后像调用数据库一样。这只是一种意见,但是正如CI手册上面的示例所写,使用$this->default->
可能会使一些新用户感到困惑。
请参见CI database configuration 和connecting to your database
秒:
代码的第一行
$data = array('lngCount' => 'lngCount + 1');
创建一个关联了 string 值的数组,该值可以正确反映在消息中
更新“ tblVisitorCounter”设置“ lngCount” ='lngCount +1'在哪里 “ strYear” ='2018'
为了递增,您需要使用$this->db->set()
来递增字段值,并从字符串+ 1
中获取set()
,并将$this->load->database();
$this->db->set('lngCount', 'lngCount+1', FALSE);
$this->db->where('strYear', date("Y");
$query = $this->db->update('tblVisitorCounter');
的第三个参数设置为false,这将防止数据无法转义,因此字段增加。参见updating data
然后您可以像这样轻松地更新数据库:
Quaternion goalRotation = Quaternion.Euler(0f,0f,0f); // or Quaternion.identity
答案 1 :(得分:0)
您可以尝试解决此问题的方法:
$this->db->set('lngCount', 'lngCount+1', FALSE);
$this->db->where('strYear', date("Y");
$query = $this->db->update('tblVisitorCounter');
echo $this->db->last_query();
print_r($query);die();
我希望它将对您有帮助。
答案 2 :(得分:0)
double getDistance(struct Point a, struct Point b)
{
double distance;
distance = sqrt((a.x - b.x) * (a.x - b.x) + (a.y-b.y) * (a.y-b.y));
return distance;
}