Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Insert stringa z ukośnikiem i cudzysłowiem z bazy do bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
ZenekN
Cześć mam zapytanie do bazy które nie wrzuca do bazy stringa z ukośnikiem i cudzysłowiem jakiej funkcji php użyć ?

  1. $nazwa = " Rura 1/4' ";
  2. query("INSERT INTO [Tabela] ([Nazwa]) VALUES( '".$nazwa."')");
viking
https://www.php.net/manual/en/pdo.prepare.php
Salvation
A spróbuj zrobić tak:
  1. $nazwa = " Rura 1/4\\' ";
  2.  
  3. // lub tak:
  4. $mysqli = new mysqli( ... );
  5. $nazwa = $mysqli->real_escape_string(" Rura 1/4' ");

Problemów z forward slashem nie powinno być, bo nie jest znakiem specjalnym.
nospor
JA tylko moze wyjasnie jaki blad popelnia autor, bo nikt nie raczyl wink.gif

query("INSERT INTO [Tabela] ([Nazwa]) VALUES( '".$nazwa."')");
skoro nazwa zawiera apostrof ' to twoj tekst po wlozeniu tej $nazwy wyglada tak

query("INSERT INTO [Tabela] ([Nazwa]) VALUES( ' Rura 1/4' ')");
Jak widzisz w zapytaniu po VALUES otwierasz tekst apostrofem ale w tekscie tez masz apostrof wiec on jakby zamyka tekst z wpierwszego VALUES a potem znowu ni z gruszki ni z pietruszki jest apostrof i masz blad skladni zapytania.
Nastepnym razem wyswietlas co generujesz oraz wyswietlaj bledy zapytan bo tam to wszystko masz opisane co bylo zle.

No i jak juz napisano, albo uzywaj PREPARE albo ESCAPOWANIA. Lepsze prepare z bindowaniem wartosci rzecz jasna
ZenekN
dzieki!!
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-2024 Invision Power Services, Inc.