logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
35 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 447 234

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» Insertion ne marche pas sous mysql

Insertion ne marche pas sous mysql#20094

2Contributeur(s)
dbourrionBoris
3 Modérateur(s)
developpeurjpbJireck
dbourrion dbourrionicon_post
Bonjour.

Je cherche à insérer des élements dans une base mysql. Voici mon script, activé au préalable par une page htm toute simple :


<?php

$db = mysql_connect ("localhost", "root", "")
or die("Impossible de se connecter")

mysql_select_db ("annuaire", $db)
or die("Could not select database";

$def_new_ancien=("INSERT INTO Personnes (nom, prenom, promo, courriel, poste_actuel)
VALUES ('$_POST["nom"]', '$_POST["prenom"]', '$_POST["promo"]', '$_POST["courriel"]', '$_POST["poste_actuel"]')");
$sql = mysql_query ($def_new_ancien, $db) or die ("La requête $def_new_ancien aéchoué");

echo "

Description nouvel ancien maintenant dans la base";

?>

Rien ne s'insère, et je n'ai même pas les messages d'erreur (pb de connexion base et autre). Qu'est-ce qui merde ??

Merci de votre aide.
Boris Borisicon_post
Ca saute aux yeux, pourtant, non?

'$_POST["nom"]' alors que la chaine complète est entourée par des ", c'est évident que ca va pas fontionner! Et puis c'est quoi, ces parenthèses dans une déclaration de chaine? Ne le prend pas mal, mais revoit les variables dans toute bonne méthode de PHP...

Met plutôt :


$def_new_ancien = "INSERT INTO 'Personnes' ('nom', 'prenom', 'promo', 'courriel', 'poste_actuel')
VALUES ('".$_POST["nom"]."', '".$_POST["prenom"]."', '".$_POST["promo"]."', '".$_POST["courriel"]."', '".$_POST["poste_actuel"]."');";



Plus simplement:
Ca, c'est pas bon
$machaine = ("blabla et $mavariable est ma variable");

Ca, c'est bon
$machaine = "blabla et ".$mavariable." est ma variable";

Voilà! ;-)

@+!
Boris
dbourrion dbourrionicon_post
Merci de ton aide. Finalement, c'est ça qui est passé :



$def_new_ancien = "INSERT INTO Personnes (nom, prenom, promo, courriel, poste_actuel)
VALUES ('".$_POST["nom"]."', '".$_POST["prenom"]."', '".$_POST["promo"]."', '".$_POST["courriel"]."', '".$_POST["poste_actuel"]."');";



et c'est bien le problème pour moi : j'ai beaucoup de mal à intégrer ces histoires de ' et de "" et de (....

J'ai l'impression que ça change une fois sur deux, du coup ça n'entre pas dans ma pauvre tête (y'a pas grand chose qui entre dans ma tête à part le vent).

Enfin, je suis toujours épaté par les développeurs pro comme toi qui voient l'erreur de suite : moi, je peux rester trois mois sur une requête ou un morceau de code, je vois pas l'erreur et si je la trouve, je vais la refaire deux semaines après. C'est trop injuste :-(

Je te remercie beauoup. A plus.
Boris Borisicon_post
Si ca peux te rassurer, àmoi, et d'autre aussi, j'en suis sûr, ca nous arrive de rester pendant 3 plombes à chercher une erreur, alors qu'il s'agit simplement d'une apostrophe ou d'un point virgule qui manque quelque part... Mais quand tu bosse au milieu de 500 lignes de codes, ben faut la voir!

T'inquiète pas, et surtout, désespère pas, ca va rentrer, avec l'habitude! ;-)

Si t'a des soucis, http://www.lordi-depanneur.com/forum.php , c'est fait pour ca! :-D

(Oui, bon, c'est vrai, j'en profite pour faire ma pub, et alors? :b )
dbourrion dbourrionicon_post
ok merci à plus.