Bonjour,
à tous je suis depius un certain temps la video créer un site de A à Z jour 3
Voila je rencontre un petit problème avec mon code.

 if(!is_numeric($v)){  
                        $v = '"'.mysql_escape_string($v).'"';
                    }


je veux renplacer à la place mysqli_real_escape_string()  mais celui ci m'oblige deux parametres à passer comment puis m'y prendre  svp? alor que   $v = '"'.mysql_escape_string($v).'"'; n'avais qu'un seul parametre! ```
merci d'avance

erreur
 Deprecated: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() 

3 réponses


betaWeb
Réponse acceptée

Salut,

Comme l'erreur l'indique, la fonction mysql_escape_string() est dépréciée (elle n'est plus maintenue grosso modo).
En outre, je t'invite à bien relire ton erreur, tu as la solution dedans. Il te suffit d'aller faire un petit tour sur la doc PHP pour savoir quels paramètres prend la fonction mysql_real_escape_string() :)
http://php.net/manual/fr/function.mysql-real-escape-string.php

D'après ce que je vois sur la doc, tu n'as qu'un paramètre à passer (un string), le second étant optionnel.

Mn0073RF
Auteur
Réponse acceptée

Merci j'ai utilié à la place addslashes comme ceci et ça semble marché

 $v = '"'.addslashes($v).'"';   

merci bien.

En faite, t'as plus simple à faire (sauf si c'est voulu pour les quotes) :

 $v = addslashes($v);
 // Ou alors : 
 $v = mysql_real_escape_string($v);

Pour mysqli, il demande le lien de la connection, c'est à dire en gros que ton code ressemblera plus à ça :

$db = mysqli_connect("ton_host","ton_username","ton_password");
mysqli_select_db($db, "ta_DBname"); //tu vois le $db, c'est le lien de la connection dont ont besoin les fonctions mysqli
mysqli_set_charset($db,"ton_encodage");

// Et plus tard tu fais : 
$v = mysqli_real_escape_string($db, $v); // On met le lien de la connection