Problem z zapisem frazy '≤' w bazie danych przy użyciu PDO

Problem z zapisem frazy '≤' w bazie danych przy użyciu PDO
C1
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:21
0

Cześć,

mam problem z zapisem przez PHP PDO (PDO::PARAM_STR) tekstu z frazą "<=". Dodaje sobie rekordy i jeśli w opisie występuje znak mniejszy lub równy, czyli <= to opis jest ucięty na znaku poprzedzającym tę frazę. Wystarczy, że zrobię przez str_replace('<=', 'mniejszy lub równy', $str) i mam cały opis w bazie danych.

Pierwszy raz mam do czynienia z taką sytuacją, a trochę już programuję, więc szukam podpowiedzi 😀

edytowany 1x, ostatnio: Riddle
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:3 minuty
  • Postów:10099
0
co17rey napisał(a):

mam problem z zapisem przez PHP PDO (PDO::PARAM_STR) tekstu z frazą "<=". Dodaje sobie rekordy i jeśli w opisie występuje znak mniejszy lub równy, czyli <= to opis jest ucięty na znaku poprzedzającym tę frazę. Wystarczy, że zrobię przez str_replace('<=', 'mniejszy lub równy', $str) i mam cały opis w bazie danych.

Pokaż kod.

C1
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:21
0

Sorki, mała pomyłka 😀
Akurat to wykonuję poprzez klasę w Prestashop Db

Kod:

Kopiuj
							try {
								$result = Db::getInstance()->update($hurtownia.'_products', array(
										'step' => pSQL('E3'),
										'details' => pSQL(json_encode($product_arr)),
										'got_details' => 'OK',
									), 
									"id_product_bl = " .pSQL($ID_PRODUCT)." AND got_details = ''");
							}

Problem jest z zapisem pola details.

PA
  • Rejestracja:ponad rok
  • Ostatnio:14 dni
  • Postów:34
2

Funkcja pSQL ma parametr określający, czy usuwać kod HTML ze stringu. Domyślną wartością jest true i w takim przypadku przekazana wartość leci przez funkcję strip_tags, która nie przepuści <=.
https://3v4l.org/6QPHa

Edit: logika warunku jest odwrotna niż napisałem function pSQL($string, $htmlOK = false) ale wiadomo, o co chodzi 😛

edytowany 1x, ostatnio: Pafnucy
C1
  • Rejestracja:prawie 5 lat
  • Ostatnio:4 miesiące
  • Postów:21
0
Pafnucy napisał(a):

Funkcja pSQL ma parametr określający, czy usuwać kod HTML ze stringu. Domyślną wartością jest true i w takim przypadku przekazana wartość leci przez funkcję strip_tags, która nie przepuści <=.
https://3v4l.org/6QPHa

Edit: logika warunku jest odwrotna niż napisałem function pSQL($string, $htmlOK = false) ale wiadomo, o co chodzi 😛

Faktycznie może być tak jak mówisz 🤔 Sprawdzę to. Na śmierć zapomniałem, że ta funkcja wywala znaczniki :) Dzięki!

KE
  • Rejestracja:ponad 6 lat
  • Ostatnio:26 minut
  • Postów:686
0

Funkcja pSQL ma parametr określający, czy usuwać kod HTML ze stringu

Ale dramat. Serio, wstyd. Czyli ta funkcja ma za zadanie zapisać coś do bazy, i w pewnych przypadkach po prostu zapisuje coś innego niż przekazano 😄

BTW pierwszy wynik w google pod "pSQL prestashop" to jest post z oficjalnego forum, opisujący dokładnie ten problem.

edytowany 1x, ostatnio: kelog

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.