C'est encore moi!
Je sais que je vous en demande beaucoup mais c'est pour valider ma formation que je dois faire ce site et je suis bloquer sur ce problème depuis plus d'une heure.
Le problème est que cela n'écrit rien dans la base de données...
<?php
$critere_existant= $bdd->query('SELECT * FROM tbl_critere ORDER BY critere');
while ($tab_critere = $critere_existant->fetch())
{
$verif_critere = $bdd->prepare('SELECT idavis_critere, idcritere FROM tbl_avis_critere WHERE idavis= :avis AND idcritere = :critere');
$verif_critere->execute(array('avis'=>$verif_avis['idavis'], 'critere'=>$tab_critere['idcritere']));
$critere=$verif_critere->fetch();
if ($critere)
{
if (preg_match("#^p#",$critere))
{
$ajout_critere=$bdd->prepare('UPDATE tbl_avis_critere SET positif = positif + 1 WHERE idavis= :avis AND idcritere = :critere');
$ajout_critere->execute(array('avis'=>$verif_avis['idavis'], 'critere'=>$tab_critere['idcritere']));
}
else
{
$ajout_critere=$bdd->prepare('UPDATE tbl_avis_critere SET negatif = negatif + 1 WHERE idavis= :avis AND idcritere = :critere');
$ajout_critere->execute(array('avis'=>$verif_avis['idavis'], 'critere'=>$tab_critere['idcritere']));
}
}
else
{
if (preg_match("#^p#",$critere))
{
$ajout_critere=$bdd->prepare('INSERT INTO tbl_avis_critere(idavis, idcritere, positif) VALUES (:avis, :critere, \'1\'');
$ajout_critere->execute(array('avis'=>$verif_avis['idavis'], 'critere'=>$tab_critere['idcritere']));
}
else
{
$ajout_critere=$bdd->prepare('INSERT INTO tbl_avis_critere(idavis, idcritere, negatif) VALUES (:avis, :critere, \'1\'');
$ajout_critere->execute(array('avis'=>$verif_avis['idavis'], 'critere'=>$tab_critere['idcritere']));
}
}
}
?>
Dans ce cas, c'est que la clause WHERE ne correspond à rien de ce que tu as dans la BDD.
Fais un echo de $verif_avis['idavis'] et $tab_critere['idcritere'] pour vérifier que ça contient bien ce que tu penses, et si oui, essayes de faire la requete directement dans PHPMyAdmin pour voir.
<?php
try
{
$bdd = new PDO('mysql:host=localhost;dbname=auto', 'root', ''); //Connexion à la base de donnée
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage()); // affiche un message d'erreur en cas d'erreur
}
?>
Il m'aura fallu deux jours entier mais j'ai trouvé la faute!
Mon insert into n'était pas fermé correctement. Il manquait une )...
Merci à ceux qui ont essayé de trouvé l'erreur.
ecriture dans la BD
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !
Tutoriel complet MySQL !