我遇到一个奇怪的问题,一个简单的查询返回了表中的行数。
这总是正常而且正确。
然而!昨天我在我的网站上添加了一个新功能,用于更新表格中现有行的列。此函数名为 add_file()
现在我的网站给出了错误的价值:
目前我的表中有 76 行,名为“procedure”,从phpMyadmin和SQLyog查看。
然而,在我的网站上,它说 70 。
机器不要说,所以这很可能是我做的
我预感到我的函数叫做 add_file()是罪魁祸首。
如果用户上传与该记录对应的文件,此函数的作用是更新我的过程表中的“edocument”列。这样系统就知道该文件被调用了什么,并且可以为它构建一个URL。
public function add_filename($file)
{
//This is the extension of the file retrieved from an array
$extension = $file['upload_data']['file_ext'];
//variable for updating row which is constructed from Username+Filename+Extension
$filename = array
(
'edocument' => ($this->session->userdata('name').$this->input->post('record_id')).$extension
);
//find row that matches the row just submitted by user
$this->db->where('procedure_id',$this->input->post('record_id'));
//update that row with the filename of the document uploaded
$this->db->update('procedure', $filename);
}
如果您查看此屏幕截图,您会看到72-76的“edocument”列中包含值。
更新功能是否会破坏我的数据库?
由于
答案 0 :(得分:1)
你确定有76行吗?
我在你的图片栏patient_id
中看到,我猜它是自动增量(或者至少它与患者表有自动增量主键的链接)。
但是,如果您运行了一些DELETE
个查询,则只能看到70行,但自动增量ID将从上次使用的数字开始(在您的情况下为76)。
您是否尝试过运行简单的COUNT
查询(不使用codeigniter活动记录)?如果是,结果是什么?