![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 18.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam 3 pliki a.php, b.php i c.php
Plik a.php ma formularz z action do pliku b.php gdzie najpierw chce uzyskać zapis do bazy oraz następnie użyć tych samych danych do kolejnego formularza który jest w pliku b.php dane sie ładnie przesyłają z pliku a.php do b.php tylko nie następuje zapis. Kod zapisu z pliku b.php
W pliku b.php poniżej tego kodu jest kolejny formularz z action do pliku c.php natomiast po przejściu z a.php do b.php jest biała strona bez żadnego komunikatu błędu. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Biała strona oznacza błąd 500. Sprawdź logi serwera.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 18.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Logi są puste.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 38 Pomógł: 9 Dołączył: 16.11.2014 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
http://stackoverflow.com/questions/8645889...one-auto-column
+ sprawdź czy wszystkie dane z formularza trafiają Ten post edytował SwiezuPL 25.02.2017, 12:51:49 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Po zapytaniu create nie masz ;.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 18.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Pyton_000 być może nie widzę tego, być może źle rozumie, ale nawet gdy zamienię to:
na to:
To nadal mam białą stronę, chyba że tutaj też mi czegoś brakuje? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
display_errors włącz bezpośrednio w php.ini. I już ci mówiłem. Po co to zapytanie create za każdym razem? Tworzenie wyrzuć raz na zewnątrz i zostaw tylko inserta.
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 27 Dołączył: 19.10.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zrob var_dump na tym zapytaniu sql. Skopiuj to i wklej w phpmyadmin jako zapytanie. Tak najlatwiej sprawdza sie bledy.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 18.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
@viking - Create jest po to żebym za każdym razem nie musiał tworzyć tej tabeli a przy testach często ją usuwam.
@goartur - dzięki zdaje się że po prostu brakuje primary key. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak czy inaczej błąd powinien zostać wyświetlony zamiast pustej strony.
-------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Brakuje Ci też " dla stringów np:
Kod name = '.$_POST['name'].', wyprodukuje Ci Kod name = jakasnazwa, a powinno Kod name = "jakasnazwa",
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 18.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
@Pyton_000 tak jeszcze wiele mi brakuje a szczególnie wiedzy
![]() Mając taki kod skopiowany z postu #1 więc pomińmy oczywiste błędy:
Po wykonaniu zapytania do bazy chcę pobrać ostatnią wartość id_receipts wykonam to zapytaniem SELECT id_receipts FROM table1 ORDER BY id_receipts DESC LIMIT 1 Natomiast gdy chce to zrobić po stronie php to nie mogę po prostu przypisać tego do zmiennej ponieważ zwróci mi string z zapytaniem zamiast wynik zapytania zapewne powinienem użyć PDO::query() ale nie mogę znaleźć przykładu a w manualu nie jest to dla mnie zbyt jasno opisane, korzystam z php 5.5 więc czy to powinno wyglądać tak:
Jeśli to jest poprawne to dlaczego nie działa? Ten post edytował lustfingers 26.02.2017, 22:05:56 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Zacznij lekturę od https://prophp.pl/advice/show/14/jak_czytac...mentacje_php%3F. Później przeczytaj ze stopki o pdo. Ostatnią wartość powinno zwrócić http://php.net/manual/en/pdo.lastinsertid.php. twój cały prepare nie ma sensu bo przed niczym nie zabezpiecza ani nie poprawia nawet czytelności. Dodatkowo mieszasz zapytanie ddl ze zwykłym który rządzi się innymi prawami przy bindowaniu. Query coś zwraca - patrz pierwszy podany link.
-------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 18.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Gdy umieszczę ten kod w pustym pliku to działa poprawnie:
Natomiast jak go umieszczę w kodzie w sekcji try już po zapytaniu to ten kod się nie wykonuje ani żaden inny poniżej czy funkcja execute() kończy działanie skryptu? |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nic nie wstrzymuje. Za to ja nie rozumiem. Dostajesz jakieś błędy wyjątków?
-------------------- |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 99 Pomógł: 5 Dołączył: 18.03.2015 Ostrzeżenie: (0%) ![]() ![]() |
Już tłumacze co mam i co chcę osiągnąć oraz dlaczego.
Kod wygląda w skrócie tak:
Teraz do tego kodu przed zapytaniem
chcę umieścić
Niestety nie dostaje żadnych błędów tylko biała strona, korzystam z wampa, czasami w jego logach pojawia się błąd: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.' in C:\wamp\www\some\c.php:69 Sama zmiana z fetch na fetchAll nic nie daje natomiast linia 69 to jest zapytanie: sql3 = "SELECT id_receipts FROM table1 ORDER BY id_receipts DESC LIMIT 1"; Ten post edytował lustfingers 28.02.2017, 19:11:03 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 07:44 |