IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Warning: mysqli_real_escape_string() expects exactly 2 parameters


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Warning: mysqli_real_escape_string() expects exactly 2 parameters
    Bonjour à tous,
    Je butte sur un form d'inscription des membres, quelqu'un peut-il m'aider ?
    Mon code renvoi :
    Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\www\ToulBox_Webv2\Inscription.php on line 70
    Erreur SQL !INSERT INTO Adherents (LoginAdherent, Password, Nom, Prenom) VALUES("X@gmail.com", "XX", "XX","XX" NOW())
    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
    // on teste si le visiteur a soumis le formulaire
    if (isset($_POST['Inscription']) && $_POST['Inscription'] == 'Inscription'){
    	// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
    	if ((isset($_POST['Login']) && !empty($_POST['Login'])) && (isset($_POST['PassWord']) && !empty($_POST['PassWord'])) && (isset($_POST['pass_confirm']) && !empty($_POST['pass_confirm']))){
    		// on teste les deux mots de passe
    		if ($_POST['PassWord'] != $_POST['pass_confirm']){
    			$erreur = 'Les 2 mots de passe sont différents.';
    		}
    		else{
    			$base = mysqli_connect("127.0.0.1", "root", "", "toulBox");
    			// on recherche si ce login est déjà utilisé par un autre Adherent
    			$sql = 'SELECT count(*) FROM Adherents WHERE LoginAdherent="'.mysqli_real_escape_string($_POST['Login']).'"';
    			$req = mysqli_query($base, $sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysqli_connect_error());
    			$data = mysqli_fetch_array($req);
    			if ($data[0] == 0) {
    				$sql = 'INSERT INTO Adherents (LoginAdherent, Password, Nom, Prenom) VALUES("'.mysqli_real_escape_string($base,$_POST['Login']).'", "'.mysqli_real_escape_string($base,$_POST['PassWord']).'", "'.mysqli_real_escape_string($base,$_POST['Nom']).'","'.mysqli_real_escape_string($base,$_POST['Prenom']).'" NOW())';
    				mysqli_query($base, $sql) or die('Erreur SQL !'.$sql.'<br />'.mysqli_connect_error());
    				session_start();
    				$_SESSION['LoginAdherent'] = $_POST['Login'];
    				header('Location: Adherent.php');
    				exit();
    			}
    			else {
    				$erreur = 'Un Adherent possède déjà ce login.';
    			}
    		}
    	}						
    	else {
    		$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>					
    <?php
    if (isset($erreur)) echo '<br />',$erreur;
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    L'erreur est claire : myslqi_real_escape_string() demande deux paramètres et tu n'en as mis qu'un.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqli_real_escape_string($base, $_POST['Login'])
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    oui euh ! Je teste sur l'existence d'un login existant et alors ?

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par sabotage
    myslqi_real_escape_string() demande deux paramètres et tu n'en as mis qu'un
    Citation Envoyé par Ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqli_real_escape_string($_POST['Login'])
    Citation Envoyé par sabotage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysqli_real_escape_string($base, $_POST['Login'])
    Essaye au moins de lire ce qui t'es dit, que ce soit dans les messages d'erreur ou dans les réponses données...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Ouais, bon je suis peut être idiot, mais je ne vois pas ce que je pourrais faire ! merci tout de même !

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu me charries là ?

    sabotage t'a donné l'explication, j'ai cité dans mon message la phrase clé en mettant en gras les points importants.
    sabotage t'a montré le code corrigé et j'ai cité son code et le tien en regard pour que tu puisses voir la différence.

    Et tu ne vois toujours pas ce que tu pourrais faire ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Si, c'est bon je viens de comprendre, il faut que m'achète des lunettes !
    en revanche j'ai maintenant une erreur sur la requête INSERT
    Erreur SQL !INSERT INTO Adherents (LoginAdherent, Password, Nom, Prenom) VALUES("X@gmail.com", "xx", "dd","dd" NOW())

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il manque la virgule avant NOW()
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci, encore un détail qui m'avait échappé !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/12/2011, 07h38
  2. [MySQL] Warning: mysql_result() expects parameter 1 to be resource ..
    Par camyo dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/07/2010, 12h00
  3. Warning: mysqli_close() expects exactly 1 parameter
    Par billyrose dans le forum Langage
    Réponses: 2
    Dernier message: 10/03/2009, 09h33
  4. [MySQL] Message : Warning: mysqli_free_result() expects parameter 1 to be mysqli_result
    Par Alexandrebox dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 18/02/2009, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo