INSERT
Résolu
t671
Messages postés
1632
Statut
Membre
-
t671 Messages postés 1632 Statut Membre -
t671 Messages postés 1632 Statut Membre -
Bonjour,
J'ai un souci avec un INSERT.
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
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
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
.$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
J'ai modifié comme suit :
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 .......
$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 .......
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());
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
Et garde les simples quotes autour de $lieu_naissance, ils sont indispensables quoi qu'en dise Mihawk
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OK ! Merci les gars.
J'ai pris l'option
Si je continue mon code, je veux insérer $lieu_naissance dans ma table lieu si la variable n'existe pas.
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) !?
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) !?