Protection des chaines de caractères pour MySQL via Objet PDO

Petit nouveau ! | 1 Messages

31 oct. 2007, 13:37

Bonjour,

Je cherche l'équivalent de la fonction mysql_real_escape_string dans le cadre d'une connection à une base mySQL via un objet PDO.

Grosso modo, je cherche un moyen de protéger les caractères spéciaux (', ", ...) de mes chaines de caractères lors des imports en base, sans être obligé de passer par des expressions regulieres.

Merci à ceux qui pourront m'aider.

Eléphant du PHP | 443 Messages

31 oct. 2007, 14:27

Salut,

Il te faut préparer tes ordres, et c'est PDO qui gère les escapes quand tu fais les binds.


Tracker.

Mammouth du PHP | 2937 Messages

31 oct. 2007, 17:15

Autrement dit, au lieu et place de mysql_real_escape_string(), tu auras :
<?php 
$toto = 'Toto -- ';
$tata = ' -- TATA';
$pdo = new PDO ('mysql:host=localhost;dbname=ta_base', 'root', 'mdp');
$prep = "SELECT colonne FROM table WHERE toto=:toto AND tata=:tata";
$sql = $pdo -> prepare ($prep);
$sql -> execute (array (':toto' => $toto, ':tata' => $tata));
$resultat = $sql -> fetch ();
?>