[Requête SQL]

Répondre
mougeole boiteux
le 09/05/2006 à 17:58
mougeole boiteux
Bonjour

J'ai un problème avec une requête SQL

J'ai un code du type

if($_POST['btnMachin'])
{
//Action
}
elseif($_POST['btnTruc'])
{

//Autre action
//Ici se trouve ma requête
}
else
{
//Action par défaut
}


Voici ma requête SQL :

$reponse = mysql_query("UPDATE SERVICES SET NomService = '$nom', Diminutif = '$dim', CodServ = '$cod' WHERE IdService = '$idservice' ");

En dessous je met des echo pour vérifié :

echo"$nom <br/>";
echo"$dim ";
echo"$cod ";
echo"$reponse ";

Et voilà ce que j'obtiens :

machin
truc
bidule
1

Les variable $nom, $dim, $cod ne sont pas vide.
Mais à quoi corespont ce 1.
Par ailleurs j'ai tester la requête SQL dans phpMyAdmin et remplaçant les variable par des valeurs "en dure" et ça marche.

Est-ce que quelqu'un a une petitie idée de l'erreur?

Merci d'avance
i M@N
le 09/05/2006 à 18:24
i M@N
Hello !

Ben ton 1 c'est une ressource SQL, correspondant à $reponse qui est une requête.

<?php
$reponse = mysql_query("UPDATE SERVICES SET NomService = '$nom', Diminutif = '$dim',
CodServ = '$cod' WHERE IdService = '$idservice' ");
?>

La bonne méthode :
<?php
/*lancement de la requête d'update*/
$sql = "UPDATE SERVICES SET NomService = '$nom', Diminutif = '$dim',
CodServ = '$cod' WHERE IdService = '$idservice'";

/*là tu peux faire echo $sql;*/

/*on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)*/
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
?>


@+...
One Love, One Heart, One Unity.
Keika
le 09/05/2006 à 18:26
Keika
héhéhé iM@n et moi nous rejoignons sur l'explication de la requete. Je suis content de moi ^_^
Le PHP --> C'est dur !
mougeole boiteux
le 10/05/2006 à 08:34
mougeole boiteux
Salut

Merci pour vos réponse.
J'ai donc afficher la requête SQL et il me répond ceci :

UPDATE SERVICES SET NomService = 'Subdivision de saint-machin', Diminutif = 'SSM', CodServ = '995' WHERE IdService = '' smiley


Maintenant je sais dans quelle direction chercher.smiley
mougeole boiteux
le 10/05/2006 à 14:20
mougeole boiteux
Salut

Ca y est j'ai trouvé.

J'ai rajouté ceci au code php :


Code PHP:

$id  = htmlentities($_POST['IdServce']);



(Bien sur j'ai remplacé $idservice par $id dans ma requête SQL)

Et j'ai rajouté ceci dans mon code HTML :

Code HTML:

<input type="hidden" name="IdServce" value="<?php echo"$idservice"; ?>">


Et ça marche nickel.
Merci encore.

Salut
Lefounard
le 10/05/2006 à 19:18
Lefounard
Je chipote :
Plus politiquement correct :
<input type="hidden" name="IdServce" value="<?php echo htmlentities($_POST['IdServce']);?>">


Beaucoup de monde ecrit echo "$var"; mais bon pour moi ca affiche $var et non le contenu de la variable, bref.
Ciao,
I am singing in the rain , I am happy again !!
bibi
le 10/05/2006 à 19:33
bibi
un petit rappel pour lefounard.

<?php

$var = 'salut';

echo "$var"; // salut
echo '$var'; // $var
?>


Méchant pas beau qui fait le malin :p
commit suicide
Lefounard
le 10/05/2006 à 20:35
Lefounard
Merci du mini cours !
Mais bon quand j'apprends que entre "" et '' on mets des chaines de caracteres, je trouves que foutre des variables au milieu ce n'est pas tres propre, c'est pour ca que certains langages font bien la distinction !
I am singing in the rain , I am happy again !!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours