Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodawanie do bazy tylko z - '/ ?
Forum PHP.pl > Forum > Przedszkole
Tho
Po długich męczarniach, w końcu udało mi się odnaleźć błąd... Usunąłem pewne 2 znaki z każdej linijki, bo wydawało mi się(chyba słusznie?) że bez nich też będzie działać...

Gdy dodaję tak:
  1. $ilosc = $pdo -> exec('
  2. INSERT INTO `services` (`sName`, `sSubSite`, `sAffiliate`, `sShortDesc`, `sThumbnail`, `sType`) VALUES(
  3. \''.$_POST['Name'].'\',
  4. \''.$_POST['SubSite'].'\',
  5. \''.$_POST['ShortDesc'].'\',
  6. \''.$_POST['Thumbnail'].'\',
  7. \''.$_POST['Type'].'\'
  8. )
  9. ');


Wszystko działa, jednak gdy usuwam każdy "ukośnik z cudzysłowem", jest błąd. Czy te \' znaki są konieczne? Dlaczego?
nospor
  1. $sql = '
  2. INSERT INTO `services` (`sName`, `sSubSite`, `sAffiliate`, `sShortDesc`, `sThumbnail`, `sType`) VALUES(
  3. \''.$_POST['Name'].'\',
  4. \''.$_POST['SubSite'].'\',
  5. \''.$_POST['ShortDesc'].'\',
  6. \''.$_POST['Thumbnail'].'\',
  7. \''.$_POST['Type'].'\'
  8. )
  9. ';
  10. echo $sql;

I sobie zobacz jak wygląda wygenerowane zapytanie to może zrozumiesz.

Prosiłęm cię też, byś pisał w przedszkolu. - przenosze
Tho
Cytat(nospor @ 27.08.2011, 13:16:29 ) *
I sobie zobacz jak wygląda wygenerowane zapytanie to może zrozumiesz.

Nie rozumiem? closedeyes.gif
nospor
Podałem ci kod. Jedyne co musisz zrobić to go u siebie odpalić i przyjrzeć sie temu co zobaczysz na ekranie :/
Tho
Czy chodzi ci o to że sAffiliate jest w zapytaniu a nie pobiera go z formularza? Spokojnie, przeklejałem posta na szybko, w pośpiechu nie zdążyłem wyciąć wszystkich niepotrzebnych pól(po co zaśmiecać forum? smile.gif ).

U mnie dodaje bez problemu zapytanie do bazy przez ten formularz.

Ale w dalszym ciągu nie rozumiem: Po co te ukośniki z cudzysłowem?
peter13135
Dajmy na to, że masz takie zapytanie
  1. INSERT INTO `tabela` (opcjonalnie kolumny) VALUES('$jakis_string', 'blabla', 'nanana', true, NULL, 1, 0.23)

Jak widzisz, stringi muszą być w apostrofach. Boolean, null i integery i floaty nie muszą być.

Jak $jakis_string będzie miał taką postać :
  1. $jakis_string = "I'm not well programer";

to zapytanie będzie wyglądało tak :
  1. INSERT INTO `tabela` (opcjonalnie kolumny) VALUES('I'm NOT well programer', 'blabla', 'nanana', true, null, 1, 0.23)

Jak widać, składnia się psuje, bo apostrof po "I,, zamyka string i dalsza część jest niezrozumiała.


Pisałem Ci o tym w innym temacie, żebyś zainteresował się funkcjami addslashes, mysql_real_escape_string. Jak widać zignorowałeś to.
Pisałem Ci również o raportowaniu błędów, również nie pomogło.
Może to co napiszę, jest nie na miejscu, ale daj sobie spokój z programowaniem, jeśli nie potrafisz czytać, wyszukiwać informacji, analizować bardzo prostych skryptów, nie rozumiesz tak banalnych rzeczy oraz nie masz woli samodzielnego rozwiązywania problemów, tylko czekasz na gotowe.
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.