【问题标题】:mysqli_insert_id returns 0 constantlymysqli_insert_id 不断返回 0
【发布时间】:2017-09-13 05:49:57
【问题描述】:

无法使 mysqli_insert_id 工作.. id 是AUTO_INCREMENT,但还是不行。

$query = "INSERT INTO categoriasdivisiones (titulo, orden, descripcion, id_familiadivisiones) VALUES ('$titulo','$orden', '$descripcion', '$id_familia');";

    mysqli_query($base, $query);

    $ultimo_id = mysqli_insert_id($base);

这里我称之为数据库:

include('../../../php/config.php');

路线没问题。

我知道代码中的问题是 insert_id 函数,因为我有一个使用此路径的图像:

move_uploaded_file($foto['tmp_name'], '../../../imagenes/categoriadivisiones/catdivisiones_'.$ultimo_id.'.'.$extensionfoto.'');

并且图像被保存为 = catdivisiones_0.png

希望你能帮助我。

CREATE TABLE `categoriasdivisiones` (
  `id` int(11) NOT NULL,
  `titulo` text NOT NULL,
  `descripcion` text NOT NULL,
  `imagen` text NOT NULL,
  `orden` text NOT NULL,
  `id_familiadivisiones` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `categoriasdivisiones`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

【问题讨论】:

  • mysqli_insert_id() 函数返回最后一个查询中使用的 id(由AUTO_INCREMENT 生成)。你在使用自动增量吗?
  • 是的,我是,“ID 是 A_I,但仍然不起作用。”
  • 我认为这是你的格式 - 你需要把它拼出来。
  • @JulianOsole,'ID 是 A_I 但仍然不起作用'这句话对我来说没有任何意义。自动增量字段只是整数。赞成,您能否将您的分类表创建脚本添加到问题中。

标签: php mysql insert-update


【解决方案1】:

确保$base变量有connection.after VALUES ('XX','XX','XX'XX').REMOVE ';'

结果查询

$query = "INSERT INTO categoriasdivisiones (titulo, orden, descripcion, id_familiadivisiones) VALUES ('$titulo','$orden', '$descripcion', '$id_familia')";

mysqli_query($base, $query);

$ultimo_id = mysqli_insert_id($base);

【讨论】:

    【解决方案2】:

    您可以在 Create id int auto_increment primary key 处使用 this,也可以通过 id select id from your_table order by id DESC 选择最新记录 并存储在一个变量上并像这样对 +1 求和 <?php $new_id = $id_from_database + 1 ?>

    希望我有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-26
      • 2013-02-26
      • 2020-10-18
      • 1970-01-01
      • 2023-03-28
      • 2010-11-04
      相关资源
      最近更新 更多