|
dbourrion 3
| Posté : 25-05-2006 19:10
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. |  Profil
|
|
Boris 3430
| Posté : 25-05-2006 19:26
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 |  Profil E-mail www
|
|
dbourrion 3
| Posté : 25-05-2006 20:00
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. |  Profil
|
|
Boris 3430
| Posté : 25-05-2006 20:50
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!
(Oui, bon, c'est vrai, j'en profite pour faire ma pub, et alors? ) |  Profil E-mail www
|
|
dbourrion 3
| Posté : 25-05-2006 21:30
ok merci à plus. |  Profil
|
|