![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 10 Dołączył: 13.03.2014 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Po raz kolejny potrzebuję waszej pomocy.
Strona dodaje rekord do bazy danych i teraz potrzebuję aby pobierało id rekordu który się dodał i wrzucenie go do innej bazy. Szukałem w google ale niestety znalazłem tylko pobieranie ostatniego id, a niestety nie o to chodzi, ponieważ w tym samym czasie ktos inny moze tego uzywać. Wydaje mi się że wszystko napisałem zrozumiale, ale jeśli coś było by niejasne to rozwinę. Przy okazji jeśli nie da się tego zrobić w php to prosił bym o konkretny skrypt js lub ajax'a ponieważ tych języków jeszcze nie znam. Dzięki za pomoc ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat Szukałem w google ale niestety znalazłem tylko pobieranie ostatniego id, a niestety nie o to chodzi, ponieważ w tym samym czasie ktos inny moze tego uzywać. lastInsertId. Wątpię, że w tym samym czasie będzie dodane nowe Ten post edytował Turson 4.04.2014, 13:27:35 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 10 Dołączył: 13.03.2014 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Spoko.
JS czy ajax wyjdzie na to samo bo i tak będzie musiało skorzystać z tego samego w php. Jak wrzucasz rekord do bazy to potem możesz pobrać id z warunkiem wyszukującym id po wrzuconych danych |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 377 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o transakcjach oraz trochę dokumentacji http://dev.mysql.com/doc/refman/5.5/en/inf..._last-insert-id
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 332 Pomógł: 10 Dołączył: 13.03.2014 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie. Nie pomyślałem aby pobierał ostatnie id where cośtam. Jeszcze raz przepraszam że tak zareagowałem
![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Twój problem rozwiazuje własnie lastInsertId - dlaczego?
Działa to w ten sposób, że jest to ostatnie ID dodanego rekordu jaki był wrzucony dla danego połaczenia MySQL - o ile nie masz w aplikacji ustawionych permanentnych połaczen do DB to własnie ta zmienna da Ci ID, którego szukasz. Masz w aplikacji ustawione stałe połaczenia do DB? Na 99,999999% jestem pewien, że nie. Więc to powinno zadziałać - nie ważne ile osób korzysta aktualnie ze strony badz ile skryptow naraz jest odpalonych - kazdy korzysta z innego polaczenia wiec sytuacja pobrania zlego ID nie wystapi... Jesli natomiast nie możesz tego zastosować to najlepsza opcja jest: 1. Zmienić strukture tabeli tak aby ID nie były automatycznie dodawane, 2. Przed dodaniem, zablokować dana tabele - sa na to komendy, 3. pobrac ostatni id z tabeli i dodac do niego 1 4. wrzucic rekord z nowym id 5. odblokowac tabele, 6. wrzucic to id do tej drugiej bazy Pamiętaj tylko by dobrze to wszystko obsłużyć aby nie zablokować tabeli na długo. -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Koledze chyba nie chodzi o kwestię pobrania ostatniego ID, a jego zapis, tak aby zapis następował w takiej kolejności, jak jego odczyt.
Ten post edytował trueblue 4.04.2014, 13:50:37 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 06:12 |