Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z AdoDB i qstr()
marcz
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 12.07.2003
Skąd: Białystok

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


Witam!

Przesiadłem się ostanio na AdoDB i niestety napotkałem mocno denerwujący problem.

Mój problem wygląda w ten sposób:
Korzystam z ActiveRecord w AdoDB, gdy przesyłam z formularza POSTem zmienną zawierającą znak ', po przesłaniu dostaję już \' (POST chyba to robi automatycznie, prawda?), zapisuję to do bazy, potem odczytuję to za pomocą powiedzmy Find(), przekazuję bezpośrednio do Smarty i na ekranie mam \' zamiast '.

Jak najlepiej sobie z tym poradzić żeby nie mieć niepotrzebnych slashy?

Druga sprawa to czy dodatkowo powinienem używać qstr() w przypadku ActiveRecord w AdoDB i jaka jest funkcja odwrotna do qstr() w AdoDB (inaczej - qstr() to odpowiednik addslashes(), a jaki jest odpowiednik stripslashes()?)?

Ten post edytował marcz 19.07.2006, 12:23:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcz
post
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 12.07.2003
Skąd: Białystok

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


Szkoda, że pomyślano o tym, aby automatyzować proces w obie strony. Jeżeli przy Save() i replace() automatycznie dodajemy jakieś znaki, to przy Load() i Find() powinniśmy automatycznie je usuwać.

Tak samo jeżeli istnieje funkcja qstr() to powinna istnieć i funkcja odwrotna.

Chciałem tablicę otrzymaną z bazy poprzez Find() bezpośrednio przekazać do Smarty, ale widzę, że będę musiał pisać funkcję rekurencyjną, która przejdzie przez wszystkie elementy tablicy (też te zagnieżdżone) i zrobi na nich stripslashes()... - bardzo nieeleganckie rozwiązanie do którego zmuszają nas autorzy AdoDB.

A może jest na to inna metoda?

Co więcej - gdy wprowadzamy ciąg //\\'' poprzez Execute() normalnie - wszystko działa jak należy, jeżeli zaś użyjemy qstr() wyskakuje wyjątek... poprostu cudownie.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 26.12.2025 - 22:16