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 :

Erreur php mysql_connect()


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut Erreur php mysql_connect()
    Bonjour,

    J'ai installé WampServer pour faire un projet, je doit faire un site web qui récupère des informations d'un esp32 LORA.
    J'ai réussi a faire marcher l'affichage de la page de connexion et de l'inscription a l'espace membre, quand on fait il y a une erreur quand on tape dans connexion et inscription il nous le dit bien mais quand on mais essaye de créer un utilisateur avec deux fois le même mdp il ne veut pas et il me met cer erreur :
    Uncaught Error: Call to undefined function mysql_connect() et j'ai pas très bien compris d'où ça vient.

    Voici la ligne concerner par l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connexion = mysql_connect ('localhost', 'root', '');
    Merci pour vos réponse

    Baptiste

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 156
    Par défaut
    Bonjour,
    Tu travaille avec quelle version de PHP ?

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2014
    Messages : 254
    Par défaut
    Depuis plusieurs années la fonction de connexion à une base de données mysql à utiliser est :

    mysqli_connect($server_name, $user, $password, $nom_base);
    Peut être que cela résout le problème.

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Oui l'extension mysql est obsolète et n'est plus supportée depuis php 7 (la dernière version Php qui supportait mysql est la version 5.6). Si tu as des requêtes mysql il faut les mettre à jour en utilisant mysqli, et si tu pars de zéro il est conseillé d'utiliser PDO.

  5. #5
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut
    Citation Envoyé par hichamus13 Voir le message
    Bonjour,
    Tu travaille avec quelle version de PHP ?
    Bonjour,

    Je croit PHP 7.


    Baptiste

  6. #6
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut
    Citation Envoyé par xounet Voir le message
    Depuis plusieurs années la fonction de connexion à une base de données mysql à utiliser est :



    Peut être que cela résout le problème.
    Bonjour,

    Oui j'ai remplacer tout les mysql_connect par mysqli_connect mais il y a un autre problème mais la ça concerne la boucle, je sais pas pourquoi mais j'ai l'impression qu'il aime pas le else.
    C'est ça le message d'erreur : syntax error, unexpected 'else' (T_ELSE)

    Merci pour vos indications.

    Baptiste

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Quel 'else' ?

    De toutes façons c'est normal que tu aies des erreurs, comme déjà dit plus haut il faut adapter tes requêtes mysql pour mysqli puisque tu as changé la connexion.

  8. #8
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut
    Citation Envoyé par ABCIWEB Voir le message
    Quel 'else' ?

    De toutes façons c'est normal que tu aies des erreurs, comme déjà dit plus haut il faut adapter tes requêtes mysql pour mysqli puisque tu as changé la connexion.
    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
    else 
    		{	
    			//si les deux mots de passe sont identiques, on se connecte à la bdd
    			$connexion = new mysqli('localhost', 'root', '', 'abcdef');
    			if (!$connexion) 
    			{
    				echo "LA CONNEXION AU SERVEUR MYSQL A ECHOUE\n"; exit();
    			}
    			print "Connexion BDD reussie puis";echo "<br/>"; 
    			// on parcourt la bdd et on range les éventuels login identiques existants dans un tableau
    			$sql = 'SELECT count(*) FROM membres WHERE id="'.$connexion = mysqli_escape_string($_POST['login']).'"';
    			$req = mysqli_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysqli_error());
    			$data = mysqli_fetch_array($req);
    			//si aucun autre login identique existe, on inscrit ce nouveau login
    			if ($data[0] == 0) 
    			{
    				$sql = 'INSERT INTO membres VALUES("","'.mysqli_escape_string($_POST['login']).'", 
    				"'.mysqli_escape_string(md5($_POST['mdp1'])).'")';
    				mysqli_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysqli_error());
    				$erreur = 'inscription reussie !';
    				echo $erreur;
    				echo"<br/><a href=\"accueil.php\">Accueil</a>";exit();
    			}
    			//sinon on n'inscrit pas ce login
    			else 
    			{
    				$erreur = 'Echec de l\'inscription !<br/>Un membre possede deja ce login !';
    				echo $erreur; 
    				echo"<br/><a href=\"accueil.php\">Accueil</a>";exit();
    			}
    		}
    Ce else là

  9. #9
    Membre émérite
    Femme Profil pro
    Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Inscrit en
    Août 2017
    Messages
    358
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 57
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Service informatique presque à moi seule (TPE), ex-architecte fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Août 2017
    Messages : 358
    Par défaut Bonsoir,
    Si c'est le 'else' de la ligne 1 qui tombe en "unexpected", l'erreur de syntaxe se situe sur la ligne précédente.

  10. #10
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut
    Citation Envoyé par Paraffine Voir le message
    Si c'est le 'else' de la ligne 1 qui tombe en "unexpected", l'erreur de syntaxe se situe sur la ligne précédente.
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    if (isset($_POST['inscription']) && $_POST['inscription'] == 'Inscription') 
    {
    	//on teste l'existence des variables et on vérifie qu'elle ne sont pas vides
    	//if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['mdp1']) && !empty($_POST['mdp1'])) 
    	//   && (isset($_POST['mdp2']) && !empty($_POST['mdp2']))) 
    	{
    		si les variables existent, on vérifie que les deux mots de passe sont différents
    		if ($_POST['mdp1'] != $_POST['mdp2']) 
    		{
    			//$erreur = 'Les 2 password sont differents.';echo $erreur; 
    			//echo'<br/><a href=\"accueil.php\">Accueil</a>';exit();
     
     
    		}
    		else 
    		{	
    			//si les deux mots de passe sont identiques, on se connecte à la bdd
    			$connexion = new mysqli('localhost', 'root', '', 'abcdef');
    			if (!$connexion) 
    			{
    				echo "LA CONNEXION AU SERVEUR MYSQL A ECHOUE\n"; exit();
    			}
    			print "Connexion BDD reussie puis";echo "<br/>"; 
    			// on parcourt la bdd et on range les éventuels login identiques existants dans un tableau
    			$sql = 'SELECT count(*) FROM membres WHERE id="'.$connexion = mysqli_escape_string($_POST['login']).'"';
    			$req = mysqli_query($sql) or die('Erreur SQL !<br/>'.$sql.'<br/>'.mysqli_error());
    			$data = mysqli_fetch_array($req);
    			//si aucun autre login identique existe, on inscrit ce nouveau login
    			if ($data[0] == 0) 
    			{
    				$sql = 'INSERT INTO membres VALUES("","'.mysqli_escape_string($_POST['login']).'", 
    				"'.mysqli_escape_string(md5($_POST['mdp1'])).'")';
    				mysqli_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysqli_error());
    				$erreur = 'inscription reussie !';
    				echo $erreur;
    				echo"<br/><a href=\"accueil.php\">Accueil</a>";exit();
    			}
    			//sinon on n'inscrit pas ce login
    			else 
    			{
    				$erreur = 'Echec de l\'inscription !<br/>Un membre possede deja ce login !';
    				echo $erreur; 
    				echo"<br/><a href=\"accueil.php\">Accueil</a>";exit();
    			}
    		}
    	}
    Voilà tout le code, je vais regarder, mais c'est pas une histoire {} ou de ; qui manque ou qu'il y a en trop

    Baptiste

  11. #11
    Membre confirmé Avatar de Darkoos0410
    Homme Profil pro
    Technicien ingénierie réseaux et voix
    Inscrit en
    Septembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Technicien ingénierie réseaux et voix

    Informations forums :
    Inscription : Septembre 2019
    Messages : 119
    Par défaut
    C'est bon j'ai trouvé la faute, les arguments des if et else était en commentaires.

    Même si maintenant j'ai d'autre erreur.

  12. #12
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Regardes la doc, mysqli_query demande la connexion en premier paramètre, donc il faut corriger toutes tes requêtes. Par exemple $req = mysql_query($sql) deviendra $req = mysqli_query($connexion,$sql)

  13. #13
    Membre très actif
    Profil pro
    Administrateur
    Inscrit en
    Mai 2008
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 237
    Par défaut
    Votre script a plusieurs erreurs de syntaxe.
    Avant de d'avancer sur des développements élaborés, concentrez-vous au moins sur les instructions de base.
    Vous semblez ne pas tenir compte des suggestions qu'on vous fait comme dans vos précédents posts.

    L'instruction ELSE en début de code est incomplète.
    Pourquoi $connexion = ici ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = 'SELECT count(*) FROM membres WHERE id="'.$connexion = mysqli_escape_string($_POST['login']).'"';
    Voici un code est peu plus optimisé
    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
    37
    38
    39
    40
    41
     
    <?php
     
           //  Données de test, à supprimer à la fin 
    	$_POST['login'] = 'tesla@gmail.com';
    	$_POST['mdp1'] = 'mdp1';
     
    	$connexion = new mysqli('localhost', 'root', '', 'tesla');
    	if ( !$connexion ){
    		die( 'Connexion au serveur invalide !!' );
    	}
     
    	$erreur = -1;
    	if ( !empty($_POST['login']) && !empty($_POST['mdp1']) ) {
     
    		$erreur = 1;
    		$login = $_POST['login'];
    		$password = md5($_POST['mdp1']);
     
    		$login = mysqli_escape_string( $connexion, $login );
    		$password = mysqli_escape_string( $connexion, $password );
     
    		$sql = 'SELECT count(*) FROM membres WHERE login = "' . $login . '"';
    		$req = mysqli_query($connexion, $sql) or die( 'Erreur SQL : Ligne ' . __LINE__ . '<br />' . mysqli_error($connexion) );
    		$data = mysqli_fetch_array($req);
     
    		if ( $data[0] == 0 )
    		{
    			$sql = 'INSERT INTO membres (login, password) VALUES ("' . $login . '", "' . $password . '")';
    			mysqli_query($connexion, $sql) or die( 'Erreur SQL : Ligne ' . __LINE__ . '<br />' . mysqli_error($connexion) );
    			$erreur = 0;
    		}
    	}
    ?>
     
    <a href="accueil.php">Accueil</a>
    <?php if ( $erreur == 0 ): ?>
    <p>Inscription réussie !</p>
    <?php elseif ($erreur == 1 ): ?>
    <p>Echec de l'inscription !<br />Un membre possède déjà ce login !</p>
    <?php endif ?>

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

Discussions similaires

  1. [SGBD] pb php mysql_connect()
    Par david06600 dans le forum Débuter
    Réponses: 11
    Dernier message: 09/11/2005, 20h55
  2. récupérer les erreurs php dans des exceptions
    Par jeanvincent dans le forum Langage
    Réponses: 6
    Dernier message: 14/10/2005, 16h26
  3. [Sessions] Message erreur PHP création de session
    Par Ylias dans le forum Langage
    Réponses: 2
    Dernier message: 29/09/2005, 11h11
  4. [Apache]Erreur PHP
    Par orditeck dans le forum Apache
    Réponses: 2
    Dernier message: 05/07/2005, 22h42
  5. Erreur php je pense
    Par Anduriel dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/06/2005, 13h45

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