![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 153 Pomógł: 0 Dołączył: 20.04.2017 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Używam PDO, mysql. Odpalam skrypt. Nieudany, w bazie nie dodano rekordu zapytania INSERT. Odpalam skrypt ponownie, debuguję. Debuger wskazuje liczbę wierszy tabeli jakby poprzednio dodano nowy rekord. Tabela w Phpmyadmin przeciwnie - nic nie dodano.
Co sprawia, że w kodzie jest nieaktualna wersja.Jak wyczyścić. Restart komputera pomaga, no ale bez jaj, nie będę restartował co chwilę. Ma to związek z metodą PDO::lastInsertId. Ona zwraca błędna wartość. Ten post edytował szczrzcz 4.07.2017, 20:44:01 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Może zależeć od transakcji. Pokaż kod. Zresztą skoro nie zapisuje to jaki ma być wynik?
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 153 Pomógł: 0 Dołączył: 20.04.2017 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
odkryłem że chodzi o wskaźnik AUTO_INCREMENT, nieudane próby insert inkrementują go mimo że id primarykey się nie zwiększa
ALTER TABLE penguins AUTO_INCREMENT=1001; ale chyba tak ma być. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli masz InnoDB i insert się nie powiedzie to Autoincrement się zwiększa.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Kolejna sprawa jest to, ze z tego co ty napisales to ty poprawnosc zapytania sprawdzasz przez pobranie lastInstertId. Jest to oczywiscie bledne podejscie. Poprawnosc zapytania masz sprawdzasz przez wynik funkcji wykonujacej zapytanie bo to ona informuje cie czy sie powiodlo czy nie. A juz najlepiej jak przerzucisz sie na wyjatki w PDO i to one beda cie infofmowaly ze cos poszlo nie tak.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ba z tego co pamiętam `lastInstertId` nie gwarantuje nawet że dostaniesz poprawny wynik
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 11:08 |