![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 12.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam pytanie odnośnie tworzenia zapytań w PDO. Która wersja składania zapytańia jest poprawna: $sql = "INSERT INTO ksiazki(tytul, autor, wydawnictwo) values (". $tytul .",". $autor .", ". $wydawnictwo .")"; czy $sql = 'INSERT INTO ksiazki(tytul, autor, wydawnictwo) values (\''. $tytul .'\',\''. $autor .'\', \''. $wydawnictwo .'\')'; |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 12.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
Ja wiem, że nie jest to dokładne z duchem PDO, ale chodzi mi o wyjaśnienie takiego złożenia:
$sql = 'INSERT INTO ksiazki(tytul, autor, wydawnictwo) values (\''. $tytul .'\', \''. $autor .'\', \''. $wydawnictwo .'\')'; Dlaczego używamy \'' |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
To jest zwykłe łączenie ciągów, składnia języka a nie PDO. Poprawne pod względem bezpieczeństwa i czytelności jest
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 46 Dołączył: 10.01.2016 Ostrzeżenie: (0%) ![]() ![]() |
Żeby błędu nie wyrzuciło, bo parser musi wiedzieć, gdzie się string zaczyna, a gdzie kończy. Możesz napisać:
Poczytaj: http://php.net/manual/en/language.types.string.php https://stackoverflow.com/questions/1078840...at-does-it-mean http://php.net/language.namespaces Ten post edytował Neutral 28.09.2017, 13:39:18 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 12.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
Czyli w tym moim przykładzie jak rozpoczynam \'' to zamykam '\' ?
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Podano ci linka, zapoznaj sie z nim
http://php.net/manual/en/language.types.string.php tam masz wszystko wyjasnione, dodatkowo na przykladach. To sa podstawy obslugi tekstow a nie bazy danych -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie do końca wyjaśnili:
To co używasz to nie jest kwestia SQL, a kodu PHP. Jeżeli w do treści chcesz dodać jakąś zmienną to musisz użyć cudzysłowia: Takie wariacje można używać, a jeszcze to nie wszystko. Jak zauważysz, slash właśnie informuje parser że to nie jest symbol zamykający/otwierający a zwykły tekst. To samo dotyczy stosowanie w stringu np. słowa $Dollar, jeżeli stosujesz podwójne cudzysłowia to będzie błąd, przy pojdyńczych ok. Ale gdy użyjesz " Moja waluta to \$Dolar "; To będzie wszystko OK. W zapytaniach dla MySQL działa to dokładnie tak samo. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 12.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki.
Teraz rozumiem. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:55 |