![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Mam takie proste dwa zapytania jak poniżej (wyciągnięcie danych z jednej tabeli i zapis do drugiej).
I teraz, jeżeli w drugim zapytaniu zamienię $wizytowkaID na twardo na dowolny ciąg znaków/liczbę, to zapisuje się wszystko pięknie. Jeżeli jednak ta liczba wpisana na twardo = liczbie którą przekazuje zmienna $wizytowkaID z pierwszego zapytania, to zapisuje się tylko $wizytowkaID i te pola, których wartości (zmienne) są generowane poza pierwszym zapytaniem. Jeżeli w tym zapytaniu jest wizytowkaID=$wizytowkaID to jak powyżej, czyli tylko $wizytowkaID i te pola, których wartości (zmienne) są generowane poza pierwszym zapytaniem. Wszystkie wartości zmiennych wywołane echo po pierwszym zapytaniu pokazują się prawidłowo. Wie ktoś o co chodzi? Ten post edytował maraska 30.04.2013, 11:46:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Na początek to całe zapytanie załatwiasz składnią INSERT INTO ... SELECT. Posprzątaj to trochę jakimś spintf.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Jak było w może bardziej czytelnym formacie
INSERT INTO `nazwa_tabeli` (`nazwa_kolumny1`,`nazwa_kolumny2`) VALUES ('wartość','wartość2') efekt ten sam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Raczej chodzi o to, żebyś wyeliminował ryzyko wystąpienia błędu, zwolnił pamięć i odciążył serwer BD.
Przykład użycia: http://stackoverflow.com/questions/5907206...-default-values Poza tym nigdzie nie wiedzę obsługi błędów dla tych zapytań. -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Spróbuj w ten sposób:
Jednakże, nie mam 100% pewności jak się zachowają zmienne i to now() przy tym SELECT'cie, ale spróbuj, może zadziała, a jak nie to ktoś mnie delikatnie poprawi. -------------------- > > > Tworzenie stron < < <
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Raczej chodzi o to, żebyś wyeliminował ryzyko wystąpienia błędu, zwolnił pamięć i odciążył serwer BD. Przykład użycia: http://stackoverflow.com/questions/5907206...-default-values Poza tym nigdzie nie wiedzę obsługi błędów dla tych zapytań. echo mysql_errno() . ": " . mysql_error() . "\n"; if($sql1) echo "Dane zostały dodane poprawnie"; else echo "Błąd nie udało się dodać nowego rekordu"; Wynik: 0: Dane zostały dodane poprawnie I nie dodało jak powinno ![]() Spróbuj w ten sposób:
Jednakże, nie mam 100% pewności jak się zachowają zmienne i to now() przy tym SELECT'cie, ale spróbuj, może zadziała, a jak nie to ktoś mnie delikatnie poprawi. FROM courses WHERE wizytowka = '$control' ? Miałeś na myśli: FROM wizytowka WHERE wizytowkaID = '$control' ? echo mysql_errno() . ": " . mysql_error() . "\n"; if($sql1) echo "Dane zostały dodane poprawnie"; else echo "Błąd nie udało się dodać nowego rekordu"; Wynik: 0: Dane zostały dodane poprawnie I nie dodało jak powinno ![]() FROM courses WHERE wizytowka = '$control' ? Miałeś na myśli: FROM wizytowka WHERE wizytowkaID = '$control' ? Wynik: 1136: Column count doesn't match value count at row 1 Błąd nie udało się dodać nowego rekordu |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jak widzisz z komunikatu nie zgadza się liczba kolumn z wartościami. Innymi słowy 11<>12.
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Zgadzać się zgadza tylko problemem jest pewnie now() do podstawienia za datę w tym zapytaniu.
To zresztą sygnalizował in5ane |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Więc jaki dostajesz komunikat błędu po poprawieniu?
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Nic nie poprawiałem. Policzyłem i się zgadza, jest po dwanaście WLICZAJĄC wartość now(), której chyba to zapytanie nie obsługuje
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Nic nie poprawiałem. Policzyłem i się zgadza, jest po dwanaście WLICZAJĄC wartość now(), której chyba to zapytanie nie obsługuje Zrób sobie: $czas = now() i dodaj do zapytania zmienna $czas ;-) -------------------- > > > Tworzenie stron < < <
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Po wstawieniu funkcji czasu i wzięcia zmiennych w ' ' działa.
Chociaż dziwnie, bo w phpmyadmin dalej jest źle (brak pobranych danych) a strona X, która przechwytuje w tym samym czasie (następnie) do formularza dane właśnie z tej insertowanej tabeli, wyświetla wszystkie dane. Jak to możliwe? Nie mam zielonego pojęcia. W każdym razie ponieważ formularz na stronie X skutecznie updatuje tabelę ręką człowieka (a po to to robię) zostawiam jak jest i zamykam temat. Chyba, żeby ktoś wiedział, czemu w phpmyadmin pola w tabeli są puste, a formularz je odczytał |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 21:45 |