Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> SELECT z apostrofem
krzysiekX
post 24.05.2005, 07:53:26
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 9.11.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Witam
Mam jakieś dane, które zawierają apostrof np:
$dane = "xxx'xxxxxx"
po insercie z mysql_escape_string w bazie wyglądają one tak: xxx\'xxxxxx
czyli wszystko gra.
Ale gdy robie selecta z mysql_escape_string, nie znajduje ich

SELECT * FROM `categories` WHERE cat_name = ".mysql_escape_string(xxx'xxxxxx)."

Co robię źle?
Proszę o pomoc
Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 24.05.2005, 08:05:25
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




w bazie to on raczej powinien wygladac task: xxx'xxxxxx, bez \

co do zapytania to chyba ociapkach zapomniales:
  1. <?php
  2.  
  3. $zap=&#092;"SELECT * FROM `categories` WHERE cat_name = '\".mysql_escape_string(\"xxx'xxxxxx\").\"'\";
  4.  
  5. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
krzysiekX
post 24.05.2005, 08:30:07
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 9.11.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


No nie raczej w bazie powinien wyglądać : xxx\'xxxxxx, z \
nobo jak przed wrzuceniem do bazy jest : xxx'xxxxxx, a wrzucając robie wcześniej : mysql_escape_string.
Z ciapami też nie działa
  1. <?php
  2.  
  3. $zap=&#092;"SELECT * FROM `categories` WHERE cat_name = '\".mysql_escape_string(\"xxx'xxxxxx\").\"'\";
  4.  
  5. ?>
Go to the top of the page
+Quote Post
nospor
post 24.05.2005, 08:42:44
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Uwierz mi, w bazie powinno być bez \. mysql_escape_string robisz po to, aby nie przerwać textu.
Tak jak u ciebie . masz xxxxx'xx. Jesli wlozysz to do zapytania:
$zap='....set cos=\'xxxxx'xx\'' i masz przerwanie textu po pierwszych x. Dodajać \przed apostrfem, okreslasz, ze to jest apostrof w tekscie a nie zakonczenie stringa czyli masz:$zap='....set cos=\'xxxxx\'xx\'' i jest ok a do bazy wrzuci ci bez \. Jesli nie zalapales jeszcze o co chodzi to se gdzies poczytaj lub zapytaj kogos kto lepiej tlumaczy ode mnie.
Zobacz w bazie co masz. Jak z \ to cos gdzies za duzo robiles. POkaz wtedy caly kod wlacznie z insertem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
krzysiekX
post 24.05.2005, 12:00:08
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 9.11.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ok, to powiedz mi, jeżeli zrobie
$dane = "xxx'xxxx";
$db->Execute("Insert into tabela values ('".mysql_escape_string($dane)."')");

To w bazie co będzie questionmark.gif
Bo ja mam xxx\'xxx, a potem musze w php dać stripslashes aby pozbyć się \
Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 24.05.2005, 12:26:43
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




a ja dalem cos takiego:
  1. <?php
  2. $dane = &#092;"xxx'xxxx\";
  3. $sql=&#092;"Insert into TEST2 values ('\".mysql_escape_string($dane).\"')\";
  4. $result=mysql_query($sql) or die (mysql_error());
  5.  
  6. ?>

i mi do bazy zapisal: xxx'xxxx

może ty masz w php.ini ustawione magic_quotes coś tam. Jeżeli tak to nie musisz już wywolywać funkcji mysql_escape_string (chyba). Spróbuj nie wywolać i pogadamy
Ja mam powylaczane:
Cytat
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off   

; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off


Ten post edytował nospor 24.05.2005, 12:32:50


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 21.06.2025 - 07:38