gpt4 book ai didi

php - 从最后插入的行获取最后插入的 id

转载 作者:行者123 更新时间:2023-11-29 08:16:23 26 4
gpt4 key购买 nike

我又来了,我快疯了!我有这个存储过程:

CREATE DEFINER=`root`@`localhost` PROCEDURE `aggiungi_categoria`(IN   `id_categoria_principale` INT, IN `nome_categoria` VARCHAR(150), IN `sigla_categoria`    VARCHAR(10), IN `stato_categoria` INT) NOT DETERMINISTIC MODIFIES SQL DATA SQL SECURITY   DEFINER
begin

select @rgt := rgt,@lft := lft from categorie where id = id_categoria_principale;

if @rgt - @lft = 1 then

UPDATE categorie SET rgt = rgt + 2 WHERE rgt > @lft;
UPDATE categorie SET lft = lft + 2 WHERE lft > @lft;

insert into categorie (nome,sigla,stato,lft,rgt)
values(nome_categoria,sigla_categoria,stato_categoria,@lft+1,@lft+2);

ELSE

UPDATE categorie SET rgt = rgt + 2 WHERE rgt > @rgt-1;
UPDATE categorie SET lft = lft + 2 WHERE lft > @rgt-1;

insert into categorie (nome,sigla,stato,lft,rgt) values
(nome_categoria,sigla_categoria,stato_categoria,@rgt,@rgt+1);

end if;


end

我怎样才能得到最后的插入ID???我尝试了所有方法,没有参数或在表上使用 max(id) 进行选择或“set last_id = last_insert_id()”,但我不知道如何通过 php 获取它?

当我在 phpmyadmin 中调用该过程时,我得到类似的内容

@rgt:=number,@lft:=number2

在 php 中显然我在数组中得到了相同的结果。

我做错了什么?

最佳答案

您应该能够使用mysql_insert_id‎来获取最后一个插入语句的ID。
引用:http://php.net/mysql_insert_id

但是,mysql_* 函数现在已被弃用(请参阅下文),您应该使用等效的 mysqli_* 函数或方法。上述函数的等效项是:$mysqli->insert_id()
引用:http://www.php.net/manual/en/mysqli.insert-id.php

mysql_* 类别的函数已被弃用,警告在此处重现:

This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

关于php - 从最后插入的行获取最后插入的 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20527109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com