我正在从事篮球裁判项目。我正在尝试更新表检查输入值。
我像这样从我的 control.php 发送值:
$check_user = $this->input->post("headreferee");
$check = $this->sql_model->check1($check_user);
这是我的 sql_model.php:
function check1($referee_name)
{
$sql = "SELECT * FROM duties WHERE username ='{$referee_name}' ";
$query = $this->db->query($sql);
if($query->num_rows()>0)
{
$this->db->set('count','count'+1);
$this->db->insert('duties');
}
else
{
return 0;
}
}
实际上它正在增加计数并添加新行但没有任何 referee_name。它必须找到正确的 referee_name 并增加该行的计数。
最佳答案
如果您想更新,请通过以下脚本修改您的 check1() 函数。
function check1($referee_name)
{
$sql = "SELECT * FROM duties WHERE username ='{$referee_name}' ";
$query = $this->db->query($sql);
$result_referee = $query->row();
$countNew = $result_referee->count + 1;
if($query->num_rows()>0)
{
$countArray = array('count'=>$countNew);
$this->db->where('username',$referee_name);
$this->db->update('duties',$countArray);
}
else
{
return 0;
}
}
我希望这对您的解决方案有所帮助。
关于php - Codeigniter 将新值设置为 db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33827221/