erreur mysql_real_escape_string
Bonjour à tous
En place de " addslahes()" je voudrais utiliser "mysql_real_escape_string()" qui me semble d'aprèsles diverses lectures serait plus approprié.
Mais cela me donne l'erreur suivante:
<?php
mysql_real_escape_string($_SESSION['soc']);
mysql_real_escape_string($_SESSION['nom']);
mysql_real_escape_string($_SESSION['prenom']);
Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost'
?>
Ma config:
- apache 2055
- php 505
Les magic_quotes_gpc() sont sur on.
D'ou peut provenir cette erreur ?
Merci
Cette fonction sert a proteger des chaine mysql, la tu l'utilise sur des session... :/
L'erreur vien pour moi de la connexion a la base de donnée.
Si tu ne passe pas le link en second parametre de la fonction, php prend la dernier connexion.
Et la apparement la connexion n'est pas bonne, ou il n'en trouve pas.
Li la doc tu comprendra surement mieu qu'en m'ecoutant :) lol
extrait :
Liste de paramètres
unescaped_string
La chaîne à échapper.
link_identifier
La connexion MySQL. S'il n'est pas spécifié, la dernière connexion ouverte avec la fonction mysql_connect() sera utilisée. Si une telle connexion n'est pas trouvée, la fonction tentera d'ouvrir une connexion, comme si la fonction mysql_connect() avait été appelée sans argument. Si aucune connexion n'est trouvée ou établie, une alerte E_WARNING est générée.
http://fr.php.net/mysql_real_escape_string
http://damienalexandre.fr/
Merci de répondre,
ben... en fait lorsque j'utilise "addslashes", ca fonctionne correct, c'est ca le problème donc je pense pas à un problème de connection
le 22/10/2005 à 17:53
Bzh
addslashes est une fonction totalement indépendante de mysql !!!! Ce qui n'est pas le cas de mysql_real_escape_string !!!!
mysql_real_escape_string à besoin que tu sois connecté à ta base de donnée ....
C' est comme mysql_query !!!!! Il faut que tu te connecte à ta base avant d' utiliser cette fonction...
mysql_real_escape_string n' est pas indépendante !!!
Bye...
merci Bzh,
mais je suis connecté à la base sans aucune erreur
mysql_select_db($eurotrad_data, $eurotrad_connect);
$req_tbl_1 = "INSERT INTO client_tbl (id_clients,date,nom,prenom,email,soc,nombre) VALUES
('','$date','$nom','$prenom','$email','$soc','$nombre')";
$resultat = mysql_query($req_tbl_1) or die("Erreur d'Insertion dans la base : ". $req_tbl_1 .'<br/>'. mysql_error());
Bof, maintenant ca fonctionne à nouveau.. bizarre ce machin.
Par contre dans la table lorsque les variables sont insérées il devrait y avoir les slashes devant les " " ou '' ,ben plus de slahes à l'insertion.
le 22/10/2005 à 18:18
Bzh
Si, si, avant tous les caratères actifs dans une requette sql !!!
V'la, ca fonctionne, j'ai procédé comme cela
<?php
$soc = mysql_real_escape_string($_SESSION['soc']);
$nom = mysql_real_escape_string($_SESSION['nom']);
$prenom=mysql_real_escape_string($_SESSION['prenom']);
?>
En fait, je suis entrain d'apprendre à utiliser les variables de session, d'ou peut-etre mon problème.
J'ai voulu inserer directement les données des variables de session dans la table, et c'est la que ca coince.
Merci
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: