Size: a a a

2020 January 21

A

Alexey in phpGeeks
просто цифры разные, это удивило
источник

E

Evgeniy in phpGeeks
всем привет, хэлпаните плиз

startTransaction();

$insertData = [...];

$stmtUser = $pdo->prepare('Insert into users .....  ON DUPLICATE KEY UPDATE  ....');

$stmtUser->execute($insertData);

$lastInsertId = $pdo->lastInsertId();

UsersManager->onUserCreate();

completeTransaction();


$result = $pdo->query(SELECT .... where id =$lastInsertId );

иногда бывает так, что в $result нет ничего, хотя пользователь создался
при тестах все ок
куда копать не знаю
источник

GK

Geo Kot in phpGeeks
а execute не нужно?
источник

E

Evgeniy in phpGeeks
Geo Kot
а execute не нужно?
он есть
источник

E

Evgeniy in phpGeeks
это псевдокод, выкинул лишнее
источник

AB

Andrey Bakharev in phpGeeks
Evgeniy
всем привет, хэлпаните плиз

startTransaction();

$insertData = [...];

$stmtUser = $pdo->prepare('Insert into users .....  ON DUPLICATE KEY UPDATE  ....');

$stmtUser->execute($insertData);

$lastInsertId = $pdo->lastInsertId();

UsersManager->onUserCreate();

completeTransaction();


$result = $pdo->query(SELECT .... where id =$lastInsertId );

иногда бывает так, что в $result нет ничего, хотя пользователь создался
при тестах все ок
куда копать не знаю
так может on duplicate сработал и у тебя нет lastInsertId? а значит и выбрать ничего не получится
источник

П

Павел in phpGeeks
Добрый день! Возможно это в json заэнкодить?
источник

AB

Andrey Bakharev in phpGeeks
а почему нет? что-то мешает? что?
источник

AB

Andrey Bakharev in phpGeeks
точно так же как и все остальное делается
источник

Кm

Кирилл mrDoode in phpGeeks
Всё так, всё так
источник

E

Evgeniy in phpGeeks
Andrey Bakharev
так может on duplicate сработал и у тебя нет lastInsertId? а значит и выбрать ничего не получится
насколько я знаю и сейчас показали тесты в этом случае
select LAST_INSERT_ID();

вернет id дублируемой строки
источник

AB

Andrey Bakharev in phpGeeks
Evgeniy
насколько я знаю и сейчас показали тесты в этом случае
select LAST_INSERT_ID();

вернет id дублируемой строки
у меня 0 вернул )) тесты на том же сервере делал?
источник

E

Evgeniy in phpGeeks
прям на той же табличке
источник

AB

Andrey Bakharev in phpGeeks
а номер вернулся точно той записи? может там левый какой номер?
источник

E

Evgeniy in phpGeeks
Andrey Bakharev
а номер вернулся точно той записи? может там левый какой номер?
точно, который нужен
источник

E

Evgeniy in phpGeeks
правильный вернулся
источник

AB

Andrey Bakharev in phpGeeks
а теперь еще раз проверь с теми же данными - все то же самое вернулось?
источник

E

Evgeniy in phpGeeks
Andrey Bakharev
а теперь еще раз проверь с теми же данными - все то же самое вернулось?
в консоле кстати тоже 0 возвращается при дублировании
источник

В

Ваня in phpGeeks
кто сможет посмотреть мой сайт, на нём не отображается то что я залогинился
источник

E

Evgeniy in phpGeeks
Andrey Bakharev
а теперь еще раз проверь с теми же данными - все то же самое вернулось?
а pdo возвращает id дублируемой записи 100%
источник