par
Patriboom » 22 juil. 2008, 04:16
Pour déboguer une inscription à la base, il n'y a rien comme un echo qui nous donne la valeur traitée par le serveur MySQL:
$requete = 'INSERT INTO ecrireindex VALUES("", "'.$date.'", "'.$auteur.'", "'.$titre'", "'.$texte.')';
echo 'Voici ma requête: '.$requete.'<br>';
if (mysql_query($requete, $db)) { echo "Bon travail" } else { echo "Voici l'erreur ".mysql_error()."<br>"; }
Tu prends (copier/coller) cet affichage et tu l'envoies directement dans la case "SQL" de phpmyadmin et tu lis attentivement le message d'erreur. En principe, le message d'erreur devrait positionner le début de la citation qu'il fera de ta commande précisément où se situe d'erreur (souvent une question de guillemets, de virgule, de nombre de champs).
Autre chose, il est plus facile de gérer l'insertion des champs aux bons endroits, lorsqu'on prend la peine de les nommer:
$requete = 'INSERT INTO ecrireindex (id, liste, des, quatre, champs) VALUES("", "'.$date.'", "'.$auteur.'", "'.$titre'", "'.$texte.'")');
Je suppose aussi que tu as fait un auto_increment à ton id. Puisque MySQL le fera automatiquement, pourquoi encombrer ton code d'une gestion que le serveur fera:
$requete = 'INSERT INTO ecrireindex (liste, des, quatre, champs) VALUES( "'.$date.'", "'.$auteur.'", "'.$titre'", "'.$texte.'")');
Je suis du même avis que chrislabricole, c'est plus clair avec les guillemets ouvrant et fermant comme il te le propose. Tu peux déjà en voir un fruit dans la coloration qu'offre ce forum.
Pour déboguer une inscription à la base, il n'y a rien comme un echo qui nous donne la valeur traitée par le serveur MySQL:
[php]
$requete = 'INSERT INTO ecrireindex VALUES("", "'.$date.'", "'.$auteur.'", "'.$titre'", "'.$texte.')';
echo 'Voici ma requête: '.$requete.'<br>';
if (mysql_query($requete, $db)) { echo "Bon travail" } else { echo "Voici l'erreur ".mysql_error()."<br>"; }
[/php]
Tu prends (copier/coller) cet affichage et tu l'envoies directement dans la case "SQL" de phpmyadmin et tu lis attentivement le message d'erreur. En principe, le message d'erreur devrait positionner le début de la citation qu'il fera de ta commande précisément où se situe d'erreur (souvent une question de guillemets, de virgule, de nombre de champs).
Autre chose, il est plus facile de gérer l'insertion des champs aux bons endroits, lorsqu'on prend la peine de les nommer:
[php]$requete = 'INSERT INTO ecrireindex (id, liste, des, quatre, champs) VALUES("", "'.$date.'", "'.$auteur.'", "'.$titre'", "'.$texte.'")');
[/php]
Je suppose aussi que tu as fait un auto_increment à ton id. Puisque MySQL le fera automatiquement, pourquoi encombrer ton code d'une gestion que le serveur fera:
[php]$requete = 'INSERT INTO ecrireindex (liste, des, quatre, champs) VALUES( "'.$date.'", "'.$auteur.'", "'.$titre'", "'.$texte.'")');
[/php]
Je suis du même avis que chrislabricole, c'est plus clair avec les guillemets ouvrant et fermant comme il te le propose. Tu peux déjà en voir un fruit dans la coloration qu'offre ce forum.