INSERT

Résolu
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -  
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un souci avec un INSERT.

$result2=mysql_query("SELECT COUNT(*) AS nbr FROM lieux WHERE lieu = '".$lieu_naissance."'); 
mysql_query($result2) or die('Erreur SQL !'.$sql.mysql_error());
if (!empty($lieu_naissance) AND ($nbr=0))
{
$requete = "INSERT INTO lieux(lieu) VALUES ($lieu_naissance)";
mysql_query($requete) or die('Erreur SQL !'.$sql.mysql_error());
}


Je recherche, en utilisant COUNT(*) AS nbr, dans ma table"lieux" si lieu_naissance existe.
Si $nbr=0, c'est que lieu_naissance n'existe pas.
Je veux donc l'insérer dans ma table, et pour la ligne "$requete = INSERT .....", j'ai le message d'erreur Parse error: syntax error, unexpected T_STRING in

Mais je ne trouve pas pourquoi ........!!!???

Merci

6 réponses

Garth
 
L'erreur est ici(en gras)
.$lieu_naissance."')

Essayez comme ça
$result2=mysql_query("SELECT COUNT(*) AS nbr FROM lieux WHERE lieu = '".$lieu_naissance."'");// bin oui si vous ouvrez des quotes il faut les refermer...

ou même $result2=mysql_query("SELECT COUNT(*) AS nbr FROM lieux WHERE lieu = ".$lieu_naissance); // mais pas besoin ici


$result2=mysql_query("SELECT COUNT(*) AS nbr FROM lieux WHERE lieu = ".$lieu_naissance);
mysql_query($result2) or die('Erreur SQL !'.$sql.mysql_error());
if (!empty($lieu_naissance) AND ($nbr=0))
// où est initialisé $nbr?
{


Parse error: syntax error, unexpected T_STRING in
Un peu court. Et le numéro de la ligne?, l'expression qui coince? ça peut aider d'aller pour voir où est l'erreur
0
AssassinTourist Messages postés 6029 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,
Problème résolu ? =)
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Je verrais ce soir ou demain =)
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
J'ai modifié comme suit :

$lieu_naissance = $_POST["lieu_naissance"];
...................................
$result2=mysql_query("SELECT COUNT(*) AS nbr FROM lieux WHERE lieu LIKE '$lieu_naissance'"); 
mysql_query($result2) or die('Erreur SQL !'.$sql.mysql_error());


et maintenant, j'ai l'erreur :
Erreur SQL !You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Resource id #3' at line 1

J'ai testé ma variable, et elle contient bien ce qu'elle doit contenir .......
0
Mihawk Messages postés 4315 Date d'inscription   Statut Contributeur Dernière intervention   846
 
Enlève les simple quotes autour de ta variable. Normalement celle-ci sera interprétée dans des double quotes.

$lieu_naissance = $_POST["lieu_naissance"]; 
................................... 
$result2=mysql_query("SELECT COUNT(*) AS nbr FROM lieux WHERE lieu LIKE $lieu_naissance");  
mysql_query($result2) or die('Erreur SQL !'.$sql.mysql_error());
0
le père
 
Bonjour

mysql_query($result2) or die('Erreur SQL !'.$sql.mysql_error());
Mais $result2 est une ressource, pas une requête ! c'est déjà le résultat d'un mysq_query, c'est comme si tu faisais
mysql_query(mysql_query("SELECT COUNT(*) AS nbr FROM lieux WHERE lieu LIKE '$lieu_naissance'"));


Et garde les simples quotes autour de $lieu_naissance, ils sont indispensables quoi qu'en dise Mihawk
0
AssassinTourist Messages postés 6029 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Donc plutôt faire :
$result2=mysql_query("SELECT COUNT(*) AS nbr FROM lieux WHERE lieu LIKE '$lieu_naissance'") or die('Erreur SQL !'.$sql.mysql_error());
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
OK ! Merci les gars.

J'ai pris l'option
$result2=mysql_query("SELECT lieu,COUNT(*) AS nbr FROM lieux WHERE lieu LIKE '$lieu_naissance'") or die('Erreur SQL !'.$sql.mysql_error());


Si je continue mon code, je veux insérer $lieu_naissance dans ma table lieu si la variable n'existe pas.
$nbr2 = mysql_num_rows($result2);	
    if ($nbr2=0)
    {
    $requete = mysql_query("INSERT INTO lieux(lieu) VALUES ('$lieu_naissance')") or die('Erreur SQL !'.$sql.mysql_error());
    }

Si je teste $nbr2, c'est toujours = à 1, et l'insert se fait dans tous les cas (si la variable est déjà présente ou pas dans la table) !?
0
AssassinTourist Messages postés 6029 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Comment ça, "à suivre" ? Tu as un autre problème ?
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
NON ! Tout est ok maintenant !

Merci beaucoup à tous ..............

;o))
0