créer un site de A à Z jour 3 problème mysql_escape_string

Par Mn0073RF, il y a 10 ans


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, il y a 10 ans

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, il y a 10 ans

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

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

merci bien.

Genki, il y a 10 ans

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