voila je suis une quiche en programmation et j'essaie de faire cette requete :
$donnee = $_POST[donnee];
echo "Donnée à écrire : $donnee<br>";
include("secu/connexion.php");
if(mysql_connect("$MySQL_Host","$MySQL_User","$MySQL_Passw")) { echo "connexion bdd ok<br>"; echo "bdd : $MySQL_Base<br><br>"; if($result=mysql_db_query("$MySQL_Base","INSERT INTO test (text) VALUES ('$donnee')")) { echo "ecriture ok"; } else echo "La requète n'a pu être effectuée."; }
voila tout se passe bien, la recup de la donnée via le formulaire et la connexion est ok mais le Insert ne marche pas. Dans ma table je n'ai mis qu'un seul champ 'text'.
As-tu pensé à faire afficher la requète complète, afin de vérifier qu'elle était bien écrite et ne contenait pas de caractères parasites (comme des ') ?
Re:probleme avec insert ! j'y comprend rien
« Répondre #4 sur: le 14-02-2007 a 09:02:30 »
iowa
Invité
Exactement MarvinLeRouge et après tu colle la requete dans PhpMyAdmin pour avoir une erreur précise.
De maniere general désolé de te le dire mais ton code est Petite corection :
Code:
<?php $donnee = htmlentities($_POST['donnee']); // oublie pas de filtrer ta variable surtout si tu l'affiche !!
echo 'Donnée à écrire : '.$donnee.'<br>'; // plus performant
include('secu/connexion.php'); // ce n'est pas une chaine dynamique, pas besoin d'utiliser les doubles quote mysql_connect($MySQL_Host,$MySQL_User,$MySQL_Passw)or die('une erreur ! :'.mysql_error()); // plus court et plus beau mysql_select_db($MySQL_Base)or die('erreur selection base'); // vaut mieux selectioner ici ta bdd
if(mysql_query("INSERT INTO test VALUES ('".$donnee."')")) // mysql_query renvoie une booleen pas besoin d'assigner une var { echo 'ecriture ok'; // +1 idem } else { echo 'La requète n\'a pu être effectuée.'; // Pareil double quote inutile } ?>