如何从特定表中获取最后使用的索引并为其添加+1?
database login, table cars
我想我需要在这里添加####
protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
$index = null, $content_range = null) {
$file = parent::handle_file_upload(
$uploaded_file, $name, $size, $type, $error, $index, $content_range
);
if (empty($file->error)) {
$sql = 'INSERT INTO `'.$this->options['db_table']
.'` (`carID`,`name`, `size`, `type`, `title`, `description`)'
.' VALUES (#############,?, ?, ?, ?, ?)';
$query = $this->db->prepare($sql);
$query->bind_param(
'sisss',
$file->name,
$file->size,
$file->type,
$file->title,
$file->description
);
$query->execute();
$file->id = $this->db->insert_id;
}
return $file;
}
EDITED: 我应该更详细地讨论这个问题。我在做汽车经销商网站。有这种大型汽车信息,还有ajax图片上传。所以我需要将图像与关于汽车的其他信息联系起来。我的汽车信息表单在数据库中有一个自动增量ID行。因此,我试图通过汽车ID将图像绑定到汽车上(我希望每个上传的图像都有汽车ID)。我有这个mysql插入代码,我想添加最后更新的表ID(从汽车表)的值,并添加+1。这是个好主意吗?或者我应该采取另一种方式?
答案 0 :(得分:0)
您应该 carID 列AUTOINCREMENT
。然后无需插入carID值。
$sql = 'INSERT INTO `'.$this->options['db_table']
.'` (`name`, `size`, `type`, `title`, `description`)'
.' VALUES (?, ?, ?, ?, ?)';
答案 1 :(得分:0)
如果carID
是自动增量值,那么您不必执行任何操作。 DB会为您完成此操作。只需将值保留为空(null
),就像这样
INSERT INTO `'.$this->options['db_table']
.'` (`carID`,`name`, `size`, `type`, `title`, `description`)'
.' VALUES (null,?, ?, ?, ?, ?)
或从插入语句中删除列
INSERT INTO `'.$this->options['db_table']
.'` (,`name`, `size`, `type`, `title`, `description`)'
.' VALUES (?, ?, ?, ?, ?)