Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL], Problem z ""
Forum PHP.pl > Forum > Przedszkole
jonaszium
Witam, pozdrawiam otóż mój problem polega na tym, że gdy przechodę do skryptu PHP z poziomu formularza w HTML zostaję przywitany komunikatem :
[ Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) ]

Problem wystęstępuje z następującą linią kodu:
$dodaj = "INSERT INTO Klient(Naziwsko,
Imie,
Kod_pocztowy,
Miejscowosc,
Ulica,
Numer_domu,
PESEL,
Numer_telefonu,
Adres_e-mail)
VALUES (NULL, '$_POST['nazw']',
'$_POST['im']',
'$_POST['kod']',
'$_POST['mia']',
'$_POST['ul']',
'$_POST['nr']',
'$_POST['pe']',
'$_POST['tel']',
'$_POST['adr']')";

Komunikat tyczy się cudzysłowia występującego przy deklarowaniu zmiennej $dodaj.
Z góry dziękuję za udzieloną pomoc.
nospor
nie: $_POST['nazw']
a: {$_POST['nazw']}
analogicznie reszta

Jesli blad bedzie nadal wystepowal, pokaz tez kod przez tym co tu nam pokazales
KsaR
  1. $dodaj = "INSERT INTO Klient(Naziwsko,
  2. Imie,
  3. Kod_pocztowy,
  4. Miejscowosc,
  5. Ulica,
  6. Numer_domu,
  7. PESEL,
  8. Numer_telefonu,
  9. Adres_e-mail)
  10. VALUES (NULL, '{$_POST[nazw]}',
  11. '{$_POST[im]}',
  12. '{$_POST[kod]}',
  13. '{$_POST[mia]}',
  14. '{$_POST[ul]}',
  15. '{$_POST[nr]}',
  16. '{$_POST[pe]}',
  17. '{$_POST[tel]}',
  18. '{$_POST[adr]}')";

Tak mozesz sprobowac, tzn tak jak nospor napisal ale bez apostrofa w tablicy, bo i tak w stringu.
Swoja droga poczytaj o SQL Injection :-P bo rzuca sie w oczy.
Oraz o funkcjach/instrukcjach preparowanych.
nospor
@ksar twoja wersja bedzie plula noticami... moja nie. wiec nie pooprawiaj tongue.gif
Twoja nie bedzie rzucac noticami bez {}
KsaR
Cytat(nospor @ 18.12.2015, 17:03:34 ) *
@ksar twoja wersja bedzie plula noticami... moja nie. wiec nie pooprawiaj tongue.gif
Twoja nie bedzie rzucac noticami bez {}

Masz racje, biggrin.gif, nie spodziewalem sie ze w stringu bedzie rzucac bledami o stałe..
I nie poprawialem tylko pomyslalem ze tak jw. A post dalem bo mnie razi to sql injection aaevil.gif

Cytat
// This is wrong for the same reason as $foo[bar] is wrong outside a string.
// In other words, it will still work, but only because PHP first looks for a
// constant named foo; an error of level E_NOTICE (undefined constant) will be
// thrown.
  1. echo "This is wrong: {$arr[foo][3]}";


// Works. When using multi-dimensional arrays, always use braces around arrays
// when inside of strings
  1. echo "This works: {$arr['foo'][3]}";


Jednak ja jestem przyzwyczajony do bindowania parametrow i PDO no to ;p
viking
Co tam mały notice jak wystarczy brak jednej wartości żeby cały zapytanie sypnęło blędem.
nospor
NA chwile obecna nic nie wskazuje by brak jakiejs wartosci wykrzaczyl zapytanie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.