Problème PHP / Base de donnée
Résolu/Fermé
Arkilym
Messages postés
14
Date d'inscription
samedi 18 mai 2019
Statut
Membre
Dernière intervention
21 novembre 2019
-
18 mai 2019 à 15:26
Arkilym Messages postés 14 Date d'inscription samedi 18 mai 2019 Statut Membre Dernière intervention 21 novembre 2019 - 19 mai 2019 à 13:21
Arkilym Messages postés 14 Date d'inscription samedi 18 mai 2019 Statut Membre Dernière intervention 21 novembre 2019 - 19 mai 2019 à 13:21
A voir également:
- Mysqli_select_db() expects exactly 2 parameters
- Formules excel de base - Guide
- Base de registre - Guide
- Easy php - Télécharger - Divers Web & Internet
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- Formules mathématiques de base - Télécharger - Études & Formations
4 réponses
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
18 mai 2019 à 16:12
18 mai 2019 à 16:12
Bonjour,
A la ligne avant ton mysql_close... tu as oublié de la terminer avec un point-virgule.
Au passage... l'extension Mysql est OBSOLETE (elle ne fonctionne plus en php 7 ). A la place il faut désormais utiliser mysqli ou PDO.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
A la ligne avant ton mysql_close... tu as oublié de la terminer avec un point-virgule.
Au passage... l'extension Mysql est OBSOLETE (elle ne fonctionne plus en php 7 ). A la place il faut désormais utiliser mysqli ou PDO.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
18 mai 2019 à 16:13
18 mai 2019 à 16:13
Tu as également un souci dans ton troisieme fichier
A corriger par
Mais bon.. si tu passes à PDO ou mysqli ... faudra de toutes façons réécrire ces instructions...
mysql_close(cx_$srv);
A corriger par
mysql_close($cx_srv);
Mais bon.. si tu passes à PDO ou mysqli ... faudra de toutes façons réécrire ces instructions...
Arkilym
Messages postés
14
Date d'inscription
samedi 18 mai 2019
Statut
Membre
Dernière intervention
21 novembre 2019
18 mai 2019 à 16:34
18 mai 2019 à 16:34
C'est du rapide, je prend note de tout ça. Merci beaucoup.
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
Modifié le 18 mai 2019 à 23:04
Modifié le 18 mai 2019 à 23:04
<?php //Fichier de connexion à la bdd $serveur="localhost"; $utilisateur="ROOT"; $motdepasse=" "; $base="leperceneige"; $cx_srv = mysqli_connect($serveur, $utilisateur, $motdepasse,$base); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } ?>
<?php /** // Fichier insertclient.php */ //---------------------------------------------// //On active l'affichage des erreurs PHP //---------------------------------------------// error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //---------------------------------------------// //connexion à la bdd //---------------------------------------------// require_once("connexion.php"); //---------------------------------------------// //On récupere PROPREMENT les variables AVANT de les utiliser //---------------------------------------------// $nom=!empty($_POST['nom']) ? $_POST['nom'] : ""; $prenom=!empty($_POST['prenom']) ? $_POST['prenom'] : ""; $num_tel=!empty($_POST['num_tel']) ? $_POST['num_tel'] : ""; $mail=!empty($_POST['mail']) ? $_POST['mail'] : ""; //---------------------------------------------// //on traite la demande //---------------------------------------------// $reqClient="INSERT INTO CLIENT (nom, prenom, num_tel, mail) VALUES('". mysqli_real_escape_string($cx_srv, $nom)."' ,'". mysqli_real_escape_string($cx_srv, $prenom)."' ,'". mysqli_real_escape_string($cx_srv, $num_tel)."' ,'". mysqli_real_escape_string($cx_srv, $mail)."' )"; if(!mysqli_query($reqClient) ){ //https://www.w3schools.com/php/func_mysqli_error.asp echo("Error description: " . mysqli_error($cx_srv)); exit(); }else{ //id nouvellement créé : https://www.w3schools.com/php/func_mysqli_insert_id.asp $NumCli=mysqli_insert_id($cx_srv); echo " Merci pour votre inscription, votre numéro de compte est le:".$NumCli." avec ce numéro vous pouvez réserver une table."; //fermeture de la connexion // https://www.w3schools.com/php/func_mysqli_close.asp mysqli_close($cx_srv); } ?>
Au passage, je t'invite à lire les liens qui sont dans les commentaires du code
ainsi que celui-ci
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Arkilym
Messages postés
14
Date d'inscription
samedi 18 mai 2019
Statut
Membre
Dernière intervention
21 novembre 2019
19 mai 2019 à 09:22
19 mai 2019 à 09:22
Voilà ce que j'obtient en message d'erreur "Warning: mysqli_connect(): (HY000/1045): Access denied for user 'ROOT'@'localhost' (using password: YES) in C:\www\Les pages du site\connexion.php on line 19
Failed to connect to MySQL: Access denied for user 'ROOT'@'localhost' (using password: YES)
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 39
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 40
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 41
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 42
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\www\Les pages du site\insertclient.php on line 46
Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 48
Error description:"
Failed to connect to MySQL: Access denied for user 'ROOT'@'localhost' (using password: YES)
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 39
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 40
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 41
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 42
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\www\Les pages du site\insertclient.php on line 46
Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in C:\www\Les pages du site\insertclient.php on line 48
Error description:"
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
>
Arkilym
Messages postés
14
Date d'inscription
samedi 18 mai 2019
Statut
Membre
Dernière intervention
21 novembre 2019
19 mai 2019 à 10:49
19 mai 2019 à 10:49
Tous les messages d'erreur sont causés par le premier
Il semble que les identifiants utilisés ne soient pas les bons...
et en effet
A remplacer par
Access denied for user 'ROOT'@'localhost' (using password: YES) in C:\www\Les pages du site\connexion.php on line 19
Il semble que les identifiants utilisés ne soient pas les bons...
et en effet
$utilisateur="ROOT"; $motdepasse=" ";
A remplacer par
$utilisateur="root"; $motdepasse="";
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
>
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
19 mai 2019 à 10:57
19 mai 2019 à 10:57
Ce qui, au passage, montre bien l'importance de gérer correctement la détection des éventuelles erreurs...
Arkilym
Messages postés
14
Date d'inscription
samedi 18 mai 2019
Statut
Membre
Dernière intervention
21 novembre 2019
19 mai 2019 à 13:21
19 mai 2019 à 13:21
Tout fonctionne, merci beaucoup.
Arkilym
Messages postés
14
Date d'inscription
samedi 18 mai 2019
Statut
Membre
Dernière intervention
21 novembre 2019
18 mai 2019 à 19:07
18 mai 2019 à 19:07
J'ai tout corriger mais ça me met "Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\www\Les pages du site\insertclient.php on line 22
Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\www\Les pages du site\insertclient.php on line 22
erreur de connexion"
Une solution ?
Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\www\Les pages du site\insertclient.php on line 22
erreur de connexion"
Une solution ?
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
18 mai 2019 à 20:41
18 mai 2019 à 20:41
Sans voir ton code impossible de t'aider de te répondre
Arkilym
Messages postés
14
Date d'inscription
samedi 18 mai 2019
Statut
Membre
Dernière intervention
21 novembre 2019
18 mai 2019 à 22:15
18 mai 2019 à 22:15
Code du fichier "connexion.php"
Code du fichier "insertclient.php"
Formulaire de la page html
<? php $serveur="localhost"; $utilisateur="ROOT"; $motdepasse=" "; $base="leperceneige"; $cx_srv= mysqli_connect($serveur, $utilisateur, $motdepasse); if($cx_srv==false) { print "Echec de connexion au serveur " .$serveur. ": Veuillez réessayer."; } else { $cx_base= mysqli_select_db($base, $cx_srv); if($cx_base==false) { print "Echec de connexion à la base " .$base.; mysqli_close($cx_srv); } } ?>
Code du fichier "insertclient.php"
<?php $Nom=$_POST['nom']; $Prenom=$_POST['prenom']; $Telephone=$_POST['num_tel']; $Mail=$_POST['mail']; include("connexion.php"); $reqClient="INSERT INTO CLIENT (nom, prenom, num_tel, mail) VALUES('$Nom','$Prenom','$Telephone','$Mail')"; mysqli_query($reqClient) or die("erreur de connexion".mysqli_error()); $NumCli=mysqli_insert_id(num_cli); echo " Merci pour votre inscription, votre numéro de compte est le:".$NumCli." avec ce numéro vous pouvez réserver une table."; mysqli_close(); ?>
Formulaire de la page html
<form action="insertclient.php" method="POST"> <p><u><h2>Avant de réserver veuillez créer un compte :</u> C'est simple et rapide.</h2></p> Nom : <input type="text" name="nom" value=""/> <br> Prénom : <input type="text" name="prenom" value=""/> <br> Numéro de téléphone : <input type="text" name="num_tel" value=""/> <br> Adresse mail : <input id="mail" type="text" name="mail" value=""/> <br><br> <input type="submit" value="S'enregistrer"<br style="width: 100px"> <input type="reset" value="Annuler"<br><br><br> </form>