Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Przejście z MySQLi na PDO. Problem z mysqli_real_escape_string(), Co tymczasowo zamiast mysqli_real_escape_string() ?
luis2luis
post 15.05.2020, 22:40:28
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 25.11.2015

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


Witam.

Przechodze z MySQLi na PDO.
Problem w tym, że mam w zapytaniach funkcje del(), którą czyszczę zmienne. Jest tego dosyć dużo w zapytaniach.

  1.  
  2. function del($tekst)
  3. {
  4. global $conn;
  5.  
  6. if (!isset($tekst)) { $tekst = ''; }
  7. return mysqli_real_escape_string($conn, trim($tekst));
  8. }


Potrzebuje tymczasowo zastąpić czymś tą funkcje do czasu aż przełożę zapytania już na prepared statements.
Czy jest w pdo taka funkcja, czy musze jakis zamiennik poszukac?

Np:

  1.  
  2. function mysql_escape_mimic($inp) {
  3. if(is_array($inp))
  4. return array_map(__METHOD__, $inp);
  5.  
  6. if(!empty($inp) && is_string($inp)) {
  7. return str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"), array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $inp);
  8. }
  9.  
  10. return $inp;
  11. }


+ coś takiego? SET sql_mode='NO_BACKSLASH_ESCAPES';

Ten post edytował luis2luis 15.05.2020, 23:45:03
Go to the top of the page
+Quote Post
Tomplus
post 16.05.2020, 11:20:55
Post #2





Grupa: Zarejestrowani
Postów: 1 828
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Binduj zmienne, zamiast je wkładać bezpośrednio w zapytanie SQL.

  1. SELECT name FROM user id = ?;


  1. $db->bindParam(1, $userId, PDO::PARAM_INT);
Go to the top of the page
+Quote Post
luis2luis
post 2.06.2020, 09:45:41
Post #3





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 25.11.2015

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


Cytat(Tomplus @ 16.05.2020, 12:20:55 ) *
Binduj zmienne, zamiast je wkładać bezpośrednio w zapytanie SQL.

  1. SELECT name FROM user id = ?;


  1. $db->bindParam(1, $userId, PDO::PARAM_INT);


Wiem o tym. Do przerobienia będzie kilkadziesiąt plików, nie chce teraz tego robić na szybko a chce już zacząć korzystać z PDO. I nowe funkcje elementy już robić tak jak trzeba. smile.gif
Go to the top of the page
+Quote Post
nospor
post 2.06.2020, 09:51:47
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




del() - no poprostu cudna nazwa funkcji.... W zyciu bym sie nie domyslil ze ona czysci i przygotowuje tekst pod wlozenie do zapytania... tongue.gif

Co do Twojego pytania:
https://www.php.net/manual/en/pdo.quote.php


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

"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
luis2luis
post 3.06.2020, 08:59:35
Post #5





Grupa: Zarejestrowani
Postów: 190
Pomógł: 0
Dołączył: 25.11.2015

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


Cytat(nospor @ 2.06.2020, 10:51:47 ) *
del() - no poprostu cudna nazwa funkcji.... W zyciu bym sie nie domyslil ze ona czysci i przygotowuje tekst pod wlozenie do zapytania... tongue.gif

Co do Twojego pytania:
https://www.php.net/manual/en/pdo.quote.php


Dawno dawno temu od kogoś odgapiłem smile.gif Już pracuje nad tym również.
Zbadam ta metode quaote. Myśle, że będzie ok.
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: 28.03.2024 - 23:57