Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Proszę o sprawdzenie składni, Zapytanie nie wykonuje się
JanMatuszak
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.10.2020

Ostrzeżenie: (0%)
-----


Witam, mam taki o to kod:
  1.  
  2. $dane = 'INSERT INTO oferty(id_klient, instalacja_adres, instalacja_kod, instalacja_miasto, typ_nieruchomości, rozdzielczosc_kamer, kamery_zo_kop, kamery_zo_tub, kamery_so_kop, kamery_so_tub, puszki_ded, elewacja, korytka, zasilanie, ups, punkt_dostepowy, rejestrator_miejsce, zapis, switch, kabel, materialy_montazowe, dojazd, dojazd_km, plik_wyceny, uwagi, wartosc_netto_wyceny, kontakt) VALUES ($idklient, $adres_instalacji, $kod_instalacji, $miasto_instalacji, $typ_nieruchomosci, $rozdzielczosc, $il_kop_zo, $il_tub_zo, $il_kop_so, $il_tub_so, $puszki, $elewacja, $korytka, $zasilanie, $ups, $router, $rejestrator_przechowywanie, $zapis, $poe, $kabel, $materialy_montazowe, $dojazd, $kilometrowka, $nazwa_pliku, $uwagi, "",$kontakt)';
  3.  
  4.  
  5. $wynik = $conn->query($dane);
  6.  


Gdzie jest błąd?
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Zrób sobie echo $dane; i sam zobaczysz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
JanMatuszak
post
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.10.2020

Ostrzeżenie: (0%)
-----


No dobrze, zrobiłem i już wiem, że nie pobieram danych ze zmiennych, ale jeśli dostrzelę "uszy" to niestety sypie błędami.
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #4





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Tak - sypie, bo nie masz apostrofów w zapytaniu. Zobacz sobie jak wygląda prawidłowe zapytanie INSERT.

Pomijam póki co fakt, że wrzucanie ze zmiennych wartości do zapytania w taki sposób prosi się o problemy. Ale to trochę później.
Go to the top of the page
+Quote Post
Tomplus
post
Post #5





Grupa: Zarejestrowani
Postów: 1 883
Pomógł: 231
Dołączył: 20.03.2005
Skąd: Będzin

Ostrzeżenie: (0%)
-----


Ja pomogę precyzyjniej:

  1. $str = "world";
  2. echo 'Hello $str !'; //Hello $str !
  3. echo "Hello $str !"; //Hello world !


Widzisz różnicę?

Co do samego zapytania, to tak jak mówi SmokAnalog, prosisz się o SQLInjection.
Go to the top of the page
+Quote Post
JanMatuszak
post
Post #6





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.10.2020

Ostrzeżenie: (0%)
-----


Zrobiłem tak:

  1. $dane = "INSERT INTO oferty ("id_klient", "instalacja_adres", "instalacja_kod", "instalacja_miasto", "typ_nieruchomości", "rozdzielczosc_kamer", "kamery_zo_kop", "kamery_zo_tub", "kamery_so_kop", "kamery_so_tub", "puszki_ded", "elewacja", "korytka", "zasilanie", "ups", "punkt_dostepowy", "rejestrator_miejsce", "zapis", "switch", "kabel", "materialy_montazowe", "dojazd", dojazd_km, plik_wyceny, uwagi, wartosc_netto_wyceny, kontakt) VALUES ("$idklient", "$adres_instalacji", "$kod_instalacji", "$miasto_instalacji", "$typ_nieruchomosci", "$rozdzielczosc", "$il_kop_zo", "$il_tub_zo", "$il_kop_so", "$il_tub_so", "$puszki", "$elewacja", "$korytka", "$zasilanie", "$ups", "$router", "$rejestrator_przechowywanie", "$zapis", "$poe", "$kabel", "$materialy_montazowe", "$dojazd", "$kilometrowka", "$nazwa_pliku", "$uwagi", "","$kontakt")";


Odpowiedź w przeglądarce:
( ! ) Parse error: syntax error, unexpected 'id_klient' (T_STRING) in C:\wamp64\www\OfertaMaker\zapisz_dane.php on line 75

Zmieniłem na:
  1. $dane = "INSERT INTO 'oferty' (id_klient, instalacja_adres, instalacja_kod, instalacja_miasto, typ_nieruchomości, rozdzielczosc_kamer, kamery_zo_kop, kamery_zo_tub, kamery_so_kop, kamery_so_tub, puszki_ded, elewacja, korytka, zasilanie, ups, punkt_dostepowy, rejestrator_miejsce, zapis, switch, kabel, materialy_montazowe, dojazd, dojazd_km, plik_wyceny, uwagi, wartosc_netto_wyceny, kontakt) VALUES ($idklient, $adres_instalacji, $kod_instalacji, $miasto_instalacji, $typ_nieruchomosci, $rozdzielczosc, $il_kop_zo, $il_tub_zo, $il_kop_so, $il_tub_so, $puszki, $elewacja, $korytka, $zasilanie, $ups, $router, $rejestrator_przechowywanie, $zapis, $poe, $kabel, $materialy_montazowe, $dojazd, $kilometrowka, $nazwa_pliku, $uwagi, ,$kontakt)";

i zapytanie robi się ładne, ale..... nie zapisuje się do bazy (IMG:style_emoticons/default/smile.gif)

Ten post edytował JanMatuszak 6.11.2020, 12:01:44
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #7





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Przeczytaj jeszcze raz ten wątek.
Go to the top of the page
+Quote Post
JanMatuszak
post
Post #8





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 24.10.2020

Ostrzeżenie: (0%)
-----


Zadziałało. Już rozkminiłem (IMG:style_emoticons/default/smile.gif) Dziękuję za pomoc
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #9





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


To super. Ale pamiętaj, że to nie koniec pracy z zapytaniami. W obecnej formie, jeśli którakolwiek wpisywana do bazy wartość będzie zawierała cudzysłów, rozwalisz zapytanie. Wartości przekazywane do zapytania powinno się wstawiać za pomocą parametrów. Poczytaj: https://www.w3bai.com/pl/php/php_mysql_prep...statements.html
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 17:10