Problème d'enregistrement base MySQL
Résolu
Camarasama
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
Liightman Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
Liightman Messages postés 51 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je n'arrive pas a inscrire des information dans ma base de données grace aux requetes préparées.
pouvez vous m'aider?
Code formulaire:
<form method="post" action="Traitement.php" id="contact_form">
<div class="form-group-name">
<label for="name">Name</label>
<input type="text" name="name" id="name" placeholder="Your Name here" required />
</div>
<div class="form-group-email">
<label for="email">Email</label>
<input type="email" name="email" id="email" placeholder="Valid Email please" required />
</div>
<div class="form-group-message">
<label for="message">Message</label>
<textarea name="message" id="message" rows="10" cols="10" placeholder="Write your message HERE" required ></textarea>
</div>
<div class="form-group-send">
<input type="submit" value="Send" name="valid" style="font-family: '3dumbregular', Arial,sans-serif; font-size: 1.5em;"/>
</div>
</form>
***********************************
code PHP:
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=****', '****', '****', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message']))
{
$to = "Souleymane_555@hotmail.com";
$subject = "contact_form";
$message = 'Nom : ' . $_POST['name'] . "\r\n";
$message .= 'Adresse mail : ' . $_POST['email'] . "\r\n";
$message .= 'Message : ' . $_POST['message'];
$from = $_POST['email'];
$headers = "From: " . $from . "\r\n" ;
mail($to,$subject,$message,$headers);
}
else {
header('Location: notsent.html');
}
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message']))
{
$nom = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$msg = htmlspecialchars($_POST['message']);
$req = $bdd->prepare('INSERT INTO message_perso (nom, email, msg) VALUES(:nom, :email, :msg');
$req->execute(array(
'nom' => $nom,
'email' => $email,
'msg' => $msg ));
}
?>
cela me met ces erreur:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 '' at line 1' in C:\wamp\www\New Project\Traitement.php on line 42
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 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 '' at line 1 in C:\wamp\www\New Project\Traitement.php on line 42
la ligne 42 correspond a la dernière ligne"msg => $msg"
je n'arrive pas a inscrire des information dans ma base de données grace aux requetes préparées.
pouvez vous m'aider?
Code formulaire:
<form method="post" action="Traitement.php" id="contact_form">
<div class="form-group-name">
<label for="name">Name</label>
<input type="text" name="name" id="name" placeholder="Your Name here" required />
</div>
<div class="form-group-email">
<label for="email">Email</label>
<input type="email" name="email" id="email" placeholder="Valid Email please" required />
</div>
<div class="form-group-message">
<label for="message">Message</label>
<textarea name="message" id="message" rows="10" cols="10" placeholder="Write your message HERE" required ></textarea>
</div>
<div class="form-group-send">
<input type="submit" value="Send" name="valid" style="font-family: '3dumbregular', Arial,sans-serif; font-size: 1.5em;"/>
</div>
</form>
***********************************
code PHP:
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=****', '****', '****', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message']))
{
$to = "Souleymane_555@hotmail.com";
$subject = "contact_form";
$message = 'Nom : ' . $_POST['name'] . "\r\n";
$message .= 'Adresse mail : ' . $_POST['email'] . "\r\n";
$message .= 'Message : ' . $_POST['message'];
$from = $_POST['email'];
$headers = "From: " . $from . "\r\n" ;
mail($to,$subject,$message,$headers);
}
else {
header('Location: notsent.html');
}
if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['message']))
{
$nom = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$msg = htmlspecialchars($_POST['message']);
$req = $bdd->prepare('INSERT INTO message_perso (nom, email, msg) VALUES(:nom, :email, :msg');
$req->execute(array(
'nom' => $nom,
'email' => $email,
'msg' => $msg ));
}
?>
cela me met ces erreur:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 '' at line 1' in C:\wamp\www\New Project\Traitement.php on line 42
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 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 '' at line 1 in C:\wamp\www\New Project\Traitement.php on line 42
la ligne 42 correspond a la dernière ligne"msg => $msg"
A voir également:
- Problème d'enregistrement base MySQL
- Base de registre - Guide
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Mysql community server - Télécharger - Bases de données
- Formules mathématiques de base - Télécharger - Études & Formations
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
4 réponses
Salut!
C'est une erreur que tu peut corriger tout seul... Avant de venir poster, relis correctement ton script... Soit plus rigoureux...
L'erreur viens de ta requête préparé...
Il y a un léger soucis avec cette ligne!
Le prochaine fois, relis-toi mieux!
C'est une erreur que tu peut corriger tout seul... Avant de venir poster, relis correctement ton script... Soit plus rigoureux...
L'erreur viens de ta requête préparé...
$req = $bdd->prepare('INSERT INTO message_perso (nom, email, msg) VALUES(:nom, :email, :msg');
Il y a un léger soucis avec cette ligne!
Le prochaine fois, relis-toi mieux!