Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ MySQL _ Insert stringa z ukośnikiem i cudzysłowiem z bazy do bazy

Napisany przez: ZenekN 13.10.2022, 19:59:36

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."')");

Napisany przez: viking 13.10.2022, 21:08:34

https://www.php.net/manual/en/pdo.prepare.php

Napisany przez: Salvation 13.10.2022, 23:25:58

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.

Napisany przez: nospor 14.10.2022, 08:45:03

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

Napisany przez: ZenekN 15.10.2022, 16:25:12

dzieki!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)