Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Przejście z MySQLi na PDO. Problem z mysqli_real_escape_string()
Forum PHP.pl > Forum > PHP
luis2luis
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';
Tomplus
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);
luis2luis
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
nospor
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
luis2luis
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.