2013-03-07 5 views
0
ne fonctionne pas

je ne peux pas comprendre pourquoi mon insertion dans la requête ne fonctionne pas ... Voici mon code:PHP: MySQL insérer dans

<?php 
session_start(); 
try 
{ 
$bdd = new PDO('mysql:host=localhost;dbname=gestion', 'root', ''); 
} 
catch(Exception $e) 
{ 
die('Erreur : '.$e->getMessage()); 
} 

$req = $bdd->prepare('INSERT INTO tasks (title, details, maturity, from, to) VALUES(:title, :details, :maturity, :from, :to)'); 
$req->execute(array(
        ':title'=>$_POST['title'], 
        ':details'=>$_POST['details'], 
        ':maturity'=>$_POST['maturity'], 
        ':from'=>$_SESSION['login'], 
        ':to'=>$_POST['to'] 
        )); 

header('Location: tasks.php'); 
?> 

Rien ne se passe lorsque ce code est runned.

Nous vous remercions de votre aide.

RÉPONSE:

FROM et TO sont les deux mots réservés ... Donc, je ne peux pas les utiliser de cette façon.

+6

'FROM' et' TO' sont tous deux [mots-clés réservés MySQL] (http://dev.mysql.com/doc/refman/5.0/fr /reserved-words.html). Vous devez les citer avec des backticks à utiliser comme noms de colonnes. –

+0

Pourriez-vous attraper l'erreur SQL? – Bigood

+1

Supprimez le 'header()' et vérifiez le message d'erreur. – take

Répondre

0

de et vers sont des mots-clés réservés dans mysql.

Vous pouvez utiliser « de » et « à » dans une base MySQL .... mais vous devrez les envelopper avec ce personnage: `(à gauche de la touche 1 au-dessus du clavier)

si écrire `from` au lieu de from, et` to` au lieu de