INSERT INTO

Eléphant du PHP | 86 Messages

31 mars 2006, 15:11

bonjour j est un probleme avec la requette INSERT INT j est fai une fonction pour ajouter des données dans une table :
function creerFicheSAV($option)
    {
        $this->option = $option;

        mysql_query(INSERT INTO `fichesav` (`idFicheSAV` , `titreFiche` , `materiel` , `dateFin` , `commentaire` , `dureeInter` , `dateFiche` , `idClient`)
        VALUES ('','$option[1]', '$option[2]', '$option[3]', '$option[4]', '$option[5]', '$option[6]', '$option[7]'); 
        
        $this->resultat = "Création d une nouvelle fiche SAV";
        return $this->resultat;        
    }
et on me renvoi :

Code : Tout sélectionner

Parse error: syntax error, unexpected T_STRING in c:\program files\easyphp1-8\www\ficheSAV.php5 on line 91
cette ligne correspno a la ligne :
mysql_query(INSERT INTO `fichesav` (`idFicheSAV` , `titreFiche` , `materiel` , `dateFin` , `commentaire` , `dureeInter` , `dateFiche` , `idClient`)
je ne voi pas d ou provien le probleme ...
Modifié en dernier par edison1986 le 31 mars 2006, 15:46, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

31 mars 2006, 15:39

Tu dois passer une chaîne en paramètre de mysql_query, il manque donc des guillemets :
mysql_query("INSERT INTO ... ");

Mammouth du PHP | 19672 Messages

31 mars 2006, 15:42

Non , c'est plus subtil :
..., 'materiel` ,...
Attention à ne pas confondre ` et ' et là tu en as mis un de chaque...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 86 Messages

31 mars 2006, 15:47

Non , c'est plus subtil :
..., 'materiel` ,...
Attention à ne pas confondre ` et ' et là tu en as mis un de chaque...
Désoler j avais fait une erreur en recopiant mais dans le vrai code c est comme je vien de réctifier donc ce n est pas mon erreur...

Mammouth du PHP | 19672 Messages

31 mars 2006, 15:54

J'avais mal vu ce qu'a souligné ouckileou et c'est lui qui a raison, corrigé :
<?php
function creerFicheSAV($option)
{
    $this->option = $option;

    mysql_query("INSERT INTO `fichesav` (`idFicheSAV` , `titreFiche` , `materiel` , `dateFin` , `commentaire` , `dureeInter` , `dateFiche` , `idClient`)
    VALUES ('','". $option[1] ."', '". $option[2] ."', '". $option[3] ."', '". $option[4] ."', '". $option[5] ."', '". $option[6] ."', '". $option[7] ."'");

    $this->resultat = "Création d une nouvelle fiche SAV";
    return $this->resultat;
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

31 mars 2006, 15:55

Non , c'est plus subtil
Heu si ça te gêne pas j'aimerais bien qu'il teste quand même avec des guillemets :lol:

Eléphant du PHP | 86 Messages

31 mars 2006, 16:09

ok merci les gars se probleme est partie grace au guillemet mais j en est une autre maintenen car meme si a la place des variable je met des valeur en dur :
$insert = "INSERT INTO `fichesav` (`idFicheSAV` , `titreFiche` , `materiel` , `dateFin` , `commentaire` , `dureeInter` , `dateFiche` , `idClient`) VALUES ('', 'toto', 'pc', '2006-04-12', 'sdfsdfs', '3 H 21 min', '2006-03-31', 'PILLAUDClement'";
mysql_query($insert);
l enregistremen ne se fai pas et MYSQL_QUERY me renvoi FALSE pour me dire qu il n a pas réussi...

Eléphant du PHP | 86 Messages

31 mars 2006, 16:17

désoler de vous avoir dérenger je vien de voir mon erreur et c etait encore un erreur de c** il manquai une fermeture de parentaise
$insert = "INSERT INTO `fichesav` (`idFicheSAV` , `titreFiche` , `materiel` , `dateFin` , `commentaire` , `dureeInter` , `dateFiche` , `idClient`) VALUES ('', 'toto', 'pc', '2006-04-12', 'sdfsdfs', '3 H 21 min', '2006-03-31', 'PILLAUDClement')";
mysql_query($insert);
merci bocoup de votre aide