Page 1 sur 1

ajout argument dans requete = mysql error

Posté : 29 sept. 2005, 23:22
par castelli
Bonsoir tout le monde j'ais un petit probleme

je vous explique :

lors de cette requete :
$query2="INSERT INTO carac (pseudo,race,id) VALUES ('".$pseudo."', '".$race."',  '".$ids."');";
mysql_query($query2) or die (mysql_error);
 echo $query2;
je n'ais aucun probleme , tout marche tré bien , par contre lors de cette requete si :
$query2="INSERT INTO carac (pseudo,race,id,force) VALUES ('".$pseudo."', '".$race."',  '".$ids."',  '".$force."');";
mysql_query($query2) or die (mysql_error);
 echo $query2;
J'ais un joli mysql error qui s'affiche..

En gros je crois qu'il y a un probleme dans ce qu'il essaille d'entrer comme donné dans la bdd

je vous affiche une plus grande partie du code :

if ($race== 'orc')
                                                                                  {
                    $force==15;
                    $agilite==6 ;
                    $pv==17;
                    $intell==6;
                    $charisme==6;
                                                                                   }
                                                                                   
if ($race== 'elfe noir')
                                                                                  {
                    $force==6;
                    $agilite==12 ;
                    $pv==10;
                    $intell==13;
                    $charisme==9;
                                                                                   }

$query2="INSERT INTO carac (pseudo,race,id,force) VALUES ('".$pseudo."', '".$race."',  '".$ids."',  '".$force."');";
mysql_query($query2) or die (mysql_error);
 echo $query2;
Avez vous une idée d'ou cela peut il provenir ??

Posté : 29 sept. 2005, 23:26
par Cyrano
Oui, tu essayes d'affecter des valeurs avec un opérateur de comparaison et non un opérateur d'affectation.
<?
if ($race== 'orc')
{
    $force    = 15;
    $agilite  = 6 ;
    $pv       = 17;
    $intell   = 6;
    $charisme = 6;
}

if ($race == 'elfe noir')
{
    $force    = 6;
    $agilite  = 12 ;
    $pv       = 10;
    $intell   = 13;
    $charisme = 9;
}

$query2="INSERT INTO carac (pseudo,race,id,force) VALUES ('".$pseudo."', '".$race."',  '".$ids."',  '".$force."');";
mysql_query($query2) or die (mysql_error);
echo $query2;
?>
ça devrait aller mieux comme ça.

Et s'il te plait, quand tu présentes du code, arrange le qu'il ne soit pas éparpillé au 4 vents, c'est particulièrement pénible à suivre (sinon je me change en Homme-arbre ou en momie, y a des elfes noirs qui vont tomber :langue:) )

Posté : 29 sept. 2005, 23:39
par castelli
Désolé pour la presentation je ferais plus attention :)
M'en fous meme pas mal et tocc :p
sinon mon erreur subsiste toujours ...

Peut etre est ce a cause du champ "force" il est en int (3) ?? ou bien sa n'a pas de rapport ?

je met un morceau de code plsu important au cas ou ..
if ($code != $code2)                 {
                                     }
else                                 {
                                       if ($existant >0){

                                                         }
                                                    else {
$query="INSERT INTO util (pseudo,code,email) VALUES ('".$pseudo."', '".$code."',  '".$email."');";
mysql_query($query) or die (mysql_error);
 $ids= mysql_insert_id();



                                                                                    
if ($race== 'orc')
                                                                                  {
                    $force=15;
                    $agilite=6 ;
                    $pv=17;
                    $intell=6;
                    $charisme=6;
                                                                                   }
                                                                                   
if ($race== 'elfe noir')
                                                                                  {
                    $force=6;
                    $agilite=12 ;
                    $pv=10;
                    $intell=13;
                    $charisme=9;
                                                                                   }

$query2="INSERT INTO carac (pseudo,race,id,force) VALUES ('".$pseudo."', '".$race."',  '".$ids."',  '".$force."');";
mysql_query($query2) or die (mysql_error);
 echo $query2;




                                                             }
                                     }

Posté : 29 sept. 2005, 23:44
par Cyrano
Possible :
<?
if ($code != $code2)
{
}
else
{
    if ($existant >0)
    {

    }
    else
    {
        $query="INSERT INTO util (pseudo,code,email) VALUES ('".$pseudo."', '".$code."',  '".$email."');";
        mysql_query($query) or die (mysql_error);
        $ids= mysql_insert_id();

        if ($race == 'orc')
        {
            $force    = 15;
            $agilite  = 6 ;
            $pv       = 17;
            $intell   = 6;
            $charisme = 6;
        }
        elseif ($race == 'elfe noir')
        {
            $force    = 6;
            $agilite  = 12 ;
            $pv       = 10;
            $intell   = 13;
            $charisme = 9;
        }
        $query2="INSERT INTO carac (pseudo,race,id,force) VALUES ('".$pseudo."', '".$race."',  '".$ids."',  ".$force.");";
        mysql_query($query2) or die (mysql_error);
        echo $query2;
    }
}
?>
Regarde bien un détail: j'ai enlevé les apostrophes autour de '". $force ."' dans la requête : c'est un entier, donc pas de caractère d'encadrement.

Posté : 30 sept. 2005, 00:27
par castelli
C bon j'ai reussit a reparer :) , je ne sait pas pourquoi mais dans phpmyadmin" force" ne passait pas jai renomer en "fc" et sa marche nickel...
me demander pas pourquoi lol

par contre j'ais une erreur du meme genre je poste donc dans le meme forum

En gros si je ne met pas de condition if concernant la race (ou je decrit la force , les pv etc...) dans la requete est incerer la bonne race . Par contre si je laisse les condition , la race de la requete sera obligatoirement humain ...

Je comprend pas trop pourquoi..
 if ($race= 'humain')
                                                                                  {
                    $force=10;
                    $agilite=10 ;
                    $pv=10;
                    $intell==10;
                    $charisme==10;
                                                                                   }

 if ($race== 'orc')
                                                                                  {
                    $force=15;
                    $agilite=6 ;
                    $pv=17;
                    $intell=6;
                    $charisme=6;
                                                                                   }
                                                                                   
if ($race== 'elfe noir')
                                                                                  {
                    $force=6;
                    $agilite=12 ;
                    $pv=10;
                    $intell=13;
                    $charisme=9;
                                                                                   }

$query2="INSERT INTO carac (pseudo,race,id,fc) VALUES ('".$pseudo."', '".$race."',  '".$ids."','".$force."');";
mysql_query($query2) or die (mysql_error);
 echo $query2;

J'ai essaillez avec elseif pour la deuxieme et troisieme condition et sa marche pas mieu : /

Posté : 30 sept. 2005, 00:30
par Truc
meme erreur qu'au début
if ($race= 'humain')
la comparaison se fait avec " == "

Posté : 30 sept. 2005, 00:32
par castelli
Arghh je suis desolé je suis un boulet ..!!

:lol: :lol: :lol: C'etait tellement bete :)
hihihi
merci encore a vous :)