[Php / Mysql] Requête sql ne marche pas
kilian
Messages postés
8732
Date d'inscription
Statut
Modérateur
Dernière intervention
-
Philippe je sais ou tu te cache !!! -
Philippe je sais ou tu te cache !!! -
Bonjour, j'ai une petit problème avec un script. En fait, la dernière requête sql ne fonctionne pas. Je vous mets la source:
En fait tout marche jusqu'au dernier "mysql_query", là ça cafouille. J'ai pourtant fait un echo de ce qui s'y trouve entre parenthèses, et testé la requête sur la base. Ca marche très bien....
Si quelqu'un a une idée.... :-)
<?php $topic_name=$_GET["topic"]; $table_sent=$_GET["fiche"]; mysql_connect("****", "*****", "*****"); mysql_select_db("*****"); /* recherche de l'id du topic choisi */ $topic_id_sql=mysql_query("SELECT post_id FROM phpbb_posts_text WHERE post_subject=\"" . $topic_name ."\""); $topic_id=mysql_result($topic_id_sql,0); /*Cherche le nom de la table choisie*/ if ($table_sent=="lieu"){ $table="fiches_lieux"; } else if ($table_sent=="perso") { $table="fiches_perso"; } else { die("Vous n'avez pas signifié si c'était un personnage ou un lieu"); } /*Incrémentation du compteur*/ $sql_count=mysql_query("SELECT MAX(compteur) FROM ".$table); $compteur=mysql_result($sql_count,0); $compteur=$compteur+1; /*insertion des nouvelles données*/ mysql_query("INSERT INTO" .$table. "(compteur, id_topic ) VALUES(".$compteur. "," .$topic_id.")"); ?>
En fait tout marche jusqu'au dernier "mysql_query", là ça cafouille. J'ai pourtant fait un echo de ce qui s'y trouve entre parenthèses, et testé la requête sur la base. Ca marche très bien....
Si quelqu'un a une idée.... :-)
Kilian, débutant en tâche de fond.....
A voir également:
- [Php / Mysql] Requête sql ne marche pas
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Php alert ✓ - Forum PHP
8 réponses
Bonsoir
mysql_query("INSERT INTO " .$table. " (compteur, id_topic )
VALUES (".$compteur. ", " .$topic_id.")");
Je n'ai rajouté que des espaces en particulier après INTO.
mysql_query("INSERT INTO " .$table. " (compteur, id_topic )
VALUES (".$compteur. ", " .$topic_id.")");
Je n'ai rajouté que des espaces en particulier après INTO.
Salut,
est ce que tu es sur d'avoir bien defini tes variables, sinon essaye ca :
$requete = mysql_query("INSERT INTO $table(compteur, id_topic )
VALUES("$compteur ", " $topic_id.)")
tiens moi au courant
est ce que tu es sur d'avoir bien defini tes variables, sinon essaye ca :
$requete = mysql_query("INSERT INTO $table(compteur, id_topic )
VALUES("$compteur ", " $topic_id.)")
tiens moi au courant
Eh ben merci!
Ca marche à présent, c'étaient en effet des histoires d'espaces. :-)
Pour info Arsene, les variables sont entourées de points pour les concatener aux chaînes de caractères. Or en php (pour ailleurs je ne sais pas), un espace avant ou après un point de concatenation ne change rien du tout...
Par contre je ne sais pas ce que tu entend par guillemets flottantes...
Merci à vous trois et bonne soirée :-)
PS pour Dédale : J'avais pas lu ton message à temps, mais ça fonctionne sans affecter mysql_query à une variable ;-)
Ca marche à présent, c'étaient en effet des histoires d'espaces. :-)
Pour info Arsene, les variables sont entourées de points pour les concatener aux chaînes de caractères. Or en php (pour ailleurs je ne sais pas), un espace avant ou après un point de concatenation ne change rien du tout...
Par contre je ne sais pas ce que tu entend par guillemets flottantes...
Merci à vous trois et bonne soirée :-)
PS pour Dédale : J'avais pas lu ton message à temps, mais ça fonctionne sans affecter mysql_query à une variable ;-)
Kilian, débutant en tâche de fond.....
merci kilian,
j'espère ne pas t'avoir induit en erreur dans mon texte, disons
que la structure de la requête me semblait bonne, il ne pouvait
s'agir que de la syntaxe or je n'arrivait pas a associer les paires
de guillemets ne connaissant pas la syntaxe du PHP, l'info que
tu m'as fournit pour le point .$var. en dit long.
Amicalement
Lupin
j'espère ne pas t'avoir induit en erreur dans mon texte, disons
que la structure de la requête me semblait bonne, il ne pouvait
s'agir que de la syntaxe or je n'arrivait pas a associer les paires
de guillemets ne connaissant pas la syntaxe du PHP, l'info que
tu m'as fournit pour le point .$var. en dit long.
Amicalement
Lupin
Bonjour à tous
Sur d'autres forums, j'ai lu plusieurs fois que les concaténations
Sur d'autres forums, j'ai lu plusieurs fois que les concaténations
mysql_query("INSERT INTO " .$table. " (compteur, id_topic ) VALUES (".$compteur. ", " .$topic_id.")");demandaient plus de travail à l'interpréteur que la syntaxe suivante
$requete = mysql_query("INSERT INTO $table(compteur, id_topic ) VALUES("$compteur ", " $topic_id.)")je n'ai jamais fait de test pour le vérifier.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Pour la 2e requête, il fallait lire
$requete = mysql_query("INSERT INTO $table(compteur, id_topic ) VALUES('$compteur', '$topic_id')")
kilian --> d'accord avec toi pour la différence
Pour la 2e requête, il fallait lire
$requete = mysql_query("INSERT INTO $table(compteur, id_topic ) VALUES('$compteur', '$topic_id')")
kilian --> d'accord avec toi pour la différence
bonsoir,
J'ai un petit souci avec ma requette, j'ai pourtant suivie les informations du net mais rien à faire cela ne marche pas, mon serveur "localhost" me dis qu'il est ready mais bon.
Si quelqu'un sait si ma requette contient une erreure merci de me le dire^^
<?
//connexion à la base
$db = mysql_connect('localhost','houdyerpierre','vii2s8di') or die ('erreur de connexion');
//sélection de la base
mysql_select_db('test',$db);
//J'envoie la requête
$db=mysql_query("select * from caract_avions where (type) = 'CHASSE EMBARQUEE'");
//on ferme la connexion
mysql_close('localhost','houdyerpierre','vii2s8di');
?>
Pour préciser, mon mp: vii2s8di, Username: houdyerpierre, hostname: localhost, port :3306
Dans sql j'ai plusieurs fichiers dans "shemata" mon dossier s'appel test.
Voilà merci d'avance
J'ai un petit souci avec ma requette, j'ai pourtant suivie les informations du net mais rien à faire cela ne marche pas, mon serveur "localhost" me dis qu'il est ready mais bon.
Si quelqu'un sait si ma requette contient une erreure merci de me le dire^^
<?
//connexion à la base
$db = mysql_connect('localhost','houdyerpierre','vii2s8di') or die ('erreur de connexion');
//sélection de la base
mysql_select_db('test',$db);
//J'envoie la requête
$db=mysql_query("select * from caract_avions where (type) = 'CHASSE EMBARQUEE'");
//on ferme la connexion
mysql_close('localhost','houdyerpierre','vii2s8di');
?>
Pour préciser, mon mp: vii2s8di, Username: houdyerpierre, hostname: localhost, port :3306
Dans sql j'ai plusieurs fichiers dans "shemata" mon dossier s'appel test.
Voilà merci d'avance
Bonjour,
Tout d'abord, je dois vous dire que je ne connais pas PHP,
toutefois les string SQL ne me sont pas inconnu.
Dans votre ligne, je détecte deux erreurs possible :
1.) Les derniers guillemets sont flotant, ceux entre les 2 parnthèses qui ferme !
2.) Il y a un espace entre le guillemet et la variable .$topic_id.
alors qu'il n'y en as pas entre le guillemet et la variable .$compteur. -> Est-ce normal, je ne sais pas ?
("INSERT INTO" .$table. "(compteur, id_topic )
VALUES(".$compteur. "," .$topic_id.")");
Lupin
Tout d'abord, je dois vous dire que je ne connais pas PHP,
toutefois les string SQL ne me sont pas inconnu.
Dans votre ligne, je détecte deux erreurs possible :
1.) Les derniers guillemets sont flotant, ceux entre les 2 parnthèses qui ferme !
2.) Il y a un espace entre le guillemet et la variable .$topic_id.
alors qu'il n'y en as pas entre le guillemet et la variable .$compteur. -> Est-ce normal, je ne sais pas ?
("INSERT INTO" .$table. "(compteur, id_topic )
VALUES(".$compteur. "," .$topic_id.")");
Lupin