Connexion avec une base de données
arsenepoutsi
Messages postés
3
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
Bonjour,
je suis entrain de faire une connexion avec une base données mysql mais lors de l'insertion des données dans la base php me renvoi une erreur qui dit "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Informatique','Ecole Primaire','Public','Gabon','Libreville','2263','iaisiege@gm' at line 1" je voulais demandé votre aide je suis vraiment coincé la dessus merci d'avance
je suis entrain de faire une connexion avec une base données mysql mais lors de l'insertion des données dans la base php me renvoi une erreur qui dit "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Informatique','Ecole Primaire','Public','Gabon','Libreville','2263','iaisiege@gm' at line 1" je voulais demandé votre aide je suis vraiment coincé la dessus merci d'avance
A voir également:
- Connexion avec une base de données
- Fuite données maif - Guide
- Gmail connexion - Guide
- Base de registre - Guide
- Connexion chromecast - Guide
- Supprimer les données de navigation - Guide
3 réponses
Bonjour,
Voici ton premier code remis en forme :
Le code de ta fonction d'ajout :
Sans le ID .. comme le suggère à juste titre NHenry
Et enfin un peu de lecture (pour faire suite à la remarque de zak concernant l'obsolescence de l'extension mysql.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
.
Voici ton premier code remis en forme :
<?php
//----------------------------------------------------------------------------------//
//Recupération "propre" des variables
//(en vérifiant avec ISSET ou EMPTY qu'elles existent AVANT de les utiliser )
//----------------------------------------------------------------------------------//
$pseudo= !empty($_POST['pseudo']) ? $_POST['pseudo'] : NULL;
$nom= isset($_POST['nom']) ? $_POST['nom'] : NULL;
$niveau= isset($_POST['niveau']) ? $_POST['niveau']: NULL;
$type= isset($_POST['type']) ? $_POST['type'] : NULL;
$pays= isset($_POST['pays']) ? $_POST['pays']:NULL;
$ville= isset($_POST['ville']) ? $_POST['ville']:NULL;
$postal= isset($_POST['postal']) ? $_POST['postal']:NULL;
$email= isset($_POST['email']) ? $_POST['email']:NULL;
$numero= isset($_POST['numero']) ? $_POST['numero']:NULL;
$password= !empty($_POST['password']) ? $_POST['password']:NULL;
//----------------------------------------------------------------------------------//
// Traitement du Submit :
//----------------------------------------------------------------------------------//
if (isset($_POST['valider'])) {
if($password){
if (password_existe($password)) {
$errors[]="ce mot de passe existe déjà";
}
}else{
$errors[]="Merci de renseigner le Password ";
}
if($pseudo){
if (pseudo_existe($pseudo)) {
$errors[]="ce pseudo existe déjà";
}
}else{
$errors[]="Merci de renseigner le Pseudo ";
}
// affichage des erreurs si il y en a :
if (!empty($errors)) {
foreach ($errors as $error) {
echo "<div class='error'>".$error."</div>";
}
}else {
ajout_etablissement($pseudo,$nom,$niveau,$type,$pays,$ville,$postal,$email,$numero,$password);
die('<br/><br/><b style="color:#134356;font-size:13px;margin-left:650px">ENREGISTREMENT TERMINE , Suivez ce lien pour continuer <a href="ancien_membre.php">Cliquez ici</a></b>');
}
}
?>
Le code de ta fonction d'ajout :
function ajout_etablissement($pseudo,$nom,$niveau,$type,$pays,$ville,$postal,$email,$numero,$password) {
$sql = "INSERT INTO etablissement
(pseudo
,nom
,niveau
,type
,pays
,ville
,postal
,email
,numero
,password
)
VALUES(
'$pseudo'
,'$nom'
,'$niveau'
,'$type'
,'$pays'
,'$ville'
,'$postal'
,'$email'
,'$numero'
,'$password'
)";
mysql_query($sql) or die(mysql_error() . " <br> REQUETE : <br>".$sql);
}
Sans le ID .. comme le suggère à juste titre NHenry
Et enfin un peu de lecture (pour faire suite à la remarque de zak concernant l'obsolescence de l'extension mysql.
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
.
<?php if (isset($_POST['valider'])) { $pseudo=$_POST['pseudo']; $nom=$_POST['nom']; $niveau=$_POST['niveau']; $type=$_POST['type']; $pays=$_POST['pays']; $ville=$_POST['ville']; $postal=$_POST['postal']; $email=$_POST['email']; $numero=$_POST['numero']; $password=$_POST['password']; //message d'erreur if (password_existe($password==1)) { $errors[]="ce mot de passe existe déjà"; } if (pseudo_existe($pseudo)) { $errors[]="ce pseudo existe déjà"; } if (!empty($errors)) { foreach ($errors as $error) { echo "<div class='error'>".$error."</div>"; } }else { ajout_etablissement($pseudo,$nom,$niveau,$type,$pays,$ville,$postal,$email,$numero,$password); die('<br/><br/><b style="color:#134356;font-size:13px;margin-left:650px">ENREGISTREMENT TERMINE , Suivez ce lien pour continuer <a href="ancien_membre.php">Cliquez ici</a></b>'); } } ?>fichier base.php
<?php //fichier base.php //Connexion a la base de données mysql_connect('localhost','root','') or die('error'); mysql_select_db('totanga') or die('base de données introuvable'); mysql_query('SET NAMES utf8'); //fonction qui va se charger d'inscrire l'utilisateurs function ajout_etablissement($pseudo,$nom,$niveau,$type,$pays,$ville,$postal,$email,$numero,$password) { mysql_query("INSERT INTO etablissement(id,pseudo,nom,niveau,type,pays,ville,postal,email,numero,password) VALUES('','$pseudo','$nom','$niveau','$type','$pays','$ville','$postal','$email','$numero','$password')") or die(mysql_error()); } //la fonction qui va verifier si le mot de passe existe function password_existe($password) { $query=mysql_query("SELECT COUNT(id) FROM etablissement WHERE password='$password'"); return mysql_result($query,0); } //la fonction qui va verifier si le pseudo existe function pseudo_existe($pseudo) { $query=mysql_query("SELECT COUNT(id) FROM etablissement WHERE pseudo='$pseudo'"); return mysql_result($query,0); } ?>EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
<form method="POST" action="" class="form-horizontal" enctype="multipart/form-data"> <div class="row"> <div class="col-lg-6"> <div class="form-group"> <label for="pseudo" class="col-lg-2 control-label">Identifiant</label> <div class="col-lg-10"> <div class="input-group"> <input type="text" class="form-control" name="pseudo" required> <span class="input-group-addon"><span class="glyphicon glyphicon-cog"></span></span> </div> </div> </div> <div class="form-group"> <label for="nom" class="col-lg-2 control-label">Nom</label> <div class="col-lg-10"> <div class="input-group"> <input type="text" name="nom" class="form-control" required> <span class="input-group-addon"><span class="glyphicon glyphicon-cog"></span></span> </div> </div> </div> <div class="form-group"> <label for="sel1" class="col-lg-2 control-label">Niveau</label> <div class="col-lg-10"> <select class="form-control" name="niveau"> <option>(Vide)</option> <option value="Ecole Primaire">Ecole Primaire</option> <option value="College">Collège</option> <option value="Lycee">Lycée</option> <option value="Lycee Professionnel">Lycée Professionnel</option> <option value="Tous niveau">Tous niveau</option> </select> </div> </div> <div class="form-group"> <label for="sel1" class="col-lg-2 control-label">Type</label> <div class="col-lg-10"> <select class="form-control" name="type"> <option>(Vide)</option> <option value="Public">Public</option> <option value="Prive">Privé</option> </select> </div> </div> <div class="form-group"> <label for="sel1" class="col-lg-2 control-label">Pays</label> <div class="col-lg-10"> <select class="form-control" name="pays"> <option>(Vide)</option> <option value="Congo">Congo</option> <option value="Gabon">Gabon</option> <option value="Tchad">Tchad</option> <option value="Senegal">Senegal</option> <option value="Benin">Benin</option> </select> </div> </div> </div> <div class="col-lg-6"> <div class="form-group"> <label for="ville" class="col-lg-2 control-label">Ville</label> <div class="col-lg-10"> <div class="input-group"> <input type="text" name="ville" class="form-control" required> <span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span> </div> </div> </div> <div class="form-group"> <label for="ville" class="col-lg-2 control-label">Code Postal</label> <div class="col-lg-10"> <div class="input-group"> <input type="text" name="postal" class="form-control" required> <span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span> </div> </div> </div> <div class="form-group"> <label for="email" class="col-lg-2 control-label">E-mail</label> <div class="col-lg-10"> <div class="input-group"> <input type="email" name="email" class="form-control" required> <span class="input-group-addon"><span class="glyphicon glyphicon-asterisk"></span></span> </div> </div> </div> <div class="form-group"> <label for="num" class="col-lg-2 control-label">Num. Téléphone</label> <div class="col-lg-10"> <div class="input-group"> <input type="text" name="numero" class="form-control" required> <span class="input-group-addon"><span class="glyphicon glyphicon-phone-alt"></span></span> </div> </div> </div> <div class="form-group"> <label for="ville" class="col-lg-2 control-label">Mot de Passe</label> <div class="col-lg-10"> <div class="input-group"> <input type="password" name="password" class="form-control" placeholder="Mot de Passe (pour l'administrateur de l'établissement)" required> <span class="input-group-addon"><span class="glyphicon glyphicon-cog"></span></span> </div> </div> </div> </div> </div> <hr/> <div class="col-lg-4"> </div> <div class="col-lg-4"> <div class="form-group"> <div class="col-lg-10 col-lg-offset-2"> <button type="reset" name="annuler" class="btn btn-danger"><span class="glyphicon glyphicon-arrow-left"></span> Annuler</button> <button type="submit" name="valider" class="btn btn-primary"><span class="glyphicon glyphicon-lock"></span> Enregistrer</button> </div> </div> </div> </form>EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Si tu as une colonne en auto-numérotation, il ne faut pas la mettre dans le INSERT INTO.
Seul les types chaines et date doivent avoir des ' pour les délimité, pas les champs numériques.