Имя: Пароль:
IT
Веб-мастеринг
Помогите с хранимой процедурой MySql
0 sysadminlk
 
29.07.20
18:29
CREATE DEFINER=`begom_user`@`%` PROCEDURE `NEW_COURIER`(
    IN `name` VARCHAR(20), IN `familia` VARCHAR(20)
)
BEGIN
    INSERT INTO `сourier` SET `username`=name, `first_name`=familia, last_name='';
    SET @out_ProductID := LAST_INSERT_ID();
END

Как в сделать чтоб в PHP вернулось LAST_INSERT_ID()?
1 Йохохо
 
29.07.20
18:35
2 sysadminlk
 
29.07.20
18:46
в общем вот так заработало:

CREATE DEFINER=`begom_user`@`%` PROCEDURE `NEW_COURIER`(
    IN `uname` VARCHAR(20), IN `familia` VARCHAR(20)
)
BEGIN
    INSERT INTO `сourier` SET `username`=uname, `first_name`=familia, last_name='';
    SELECT LAST_INSERT_ID() AS 'LAST_INSERT';
END

но всё-таки интересно как вернуть переменную, из хранимой процедуры
3 Fragster
 
гуру
29.07.20
19:14
переходи с автоинкремента на ГУИД и генери и пихай его в базу сам
4 Сияющий в темноте
 
29.07.20
23:03
так,насколько я помню,в php последний ид возвращается в результат запроса.
5 trmd
 
29.07.20
23:42
(0) Вот так: $dbh->lastInsertId();
Но лучше переходи с ПХП на что-нибудь нормальное.
6 Fragster
 
гуру
30.07.20
10:13
(5) похапэ норм, не надо тут
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.