Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2011, 14h28   #1
Invité de passage
 
Sam
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Sam

Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 1
Points : 1
Par défaut Probleme php /Mysql

j'espère que je poste dans le bonne espace

Bonjour Mesdames Messieurs,

je sollicite votre aide dans le cadre d'une erreur PhP qui va me rendre "CHÈVRE"
(c'est la première fois que je poste désoler si je fais de la redondance dans mon problème)

avant de commencer, vous trouverez si dessous ma base,puis mon erreur et enfin mon code PhP avec ma sublime question

TABLE Arts ( stokages de mes futur articles de mes pages )

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CREATE TABLE IF NOT EXISTS 'Arts' (
  'art_num' int(11) NOT NULL auto_increment,
  'cat_num' int(11) NOT NULL,
  'aut_num' int(11) NOT NULL,
  'art_intitule' varchar(45) NOT NULL,
  'art_text' text NOT NULL,
  'art_date' date NOT NULL,
  PRIMARY KEY  ('art_num'),
  KEY 'aut_num' ('aut_num'),
  KEY 'cat_num' ('cat_num')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
 
-------------------
 
CREATE TABLE IF NOT EXISTS 'Auteur' (
  'aut_num' int(11) NOT NULL auto_increment COMMENT '			',
  'aut_auteurs' varchar(45) character set latin1 collate latin1_general_ci NOT NULL,
  'aut_mail' varchar(45) character set latin1 collate latin1_general_ci NOT NULL,
  PRIMARY KEY  ('aut_num')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
 
-----------------------
 
 
CREATE TABLE IF NOT EXISTS 'categorie' (
  'cat_num' int(11) NOT NULL auto_increment,
  'cat_titre' varchar(45) NOT NULL,
  PRIMARY KEY  ('cat_num')
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;



alors voila mon contexte je suis sur ma page articles ayant pour code ( extrait )

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
....
 
$retour_messages=mysql_query('SELECT  art_intitule, art_text,aut_auteurs, art_date
FROM Auteur JOIN Arts ON Arts.aut_num = Auteur.aut_num JOIN categorie ON Arts.cat_num = categorie.cat_num WHERE Arts.aut_num IN ( SELECT aut_num FROM Auteur )'.$premiereEntree.', '.$messagesParPage.'')or die(mysql_error());
while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
{
 
		  echo '<tr><td><td><h2>' , htmlentities(trim($donnees_messages['art_intitule'])) , '</h2></td></tr>';
		  echo '<tr><td><td>'.nl2br(stripslashes($donnees_messages['art_text'])) , '</td></tr>';
		   // ici je place mes info et forme la date de yyyy/mm/j en j/mm/yyyy
			$a=($donnees_messages['art_date']);
 
		   echo '<table><tr><td><td>' , htmlentities(trim($donnees_messages['aut_nom'])) , ' : ' , htmlentities(trim(date("d/m/Y", strtotime($a)))) , ' </td></tr><br><br>';
    } 
 
 
 
 
....
alors je sais que mon erreur se situe ici
j 'ai pris le soin de tester ma requete sous phpmyadmin et passe comme une lettre à la poste.Or sur ma page cela ne passe pas est mon mysql error preferer me sort de son chapeau magique :


"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 ' 1' at line 1"



ma question est la suivante : avec les différentes informations que j 'ai apporté si dessus y a -t- il une âme charitable qui pourrait m'aider à régler ce problème et qui aurait aussi la gentillesse de surtout m'expliquer mon erreur? si vous désirez d'autre information n'hésiter pas
Monkey_nhk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 14h34   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
fait plutôt :
Code :
1
2
3
4
5
 
$sql = 'SELECT  art_intitule, art_text,aut_auteurs, art_date
FROM Auteur JOIN Arts ON Arts.aut_num = Auteur.aut_num JOIN categorie ON Arts.cat_num = categorie.cat_num WHERE Arts.aut_num IN ( SELECT aut_num FROM Auteur )'.$premiereEntree.', '.$messagesParPage;
 
$retour_messages = mysql_query($sql) or die($sql . '<br />' . mysql_error())
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 14h58   #3
Invité de passage
 
Sam
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Sam

Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 1
Points : 1
"
SELECT art_intitule, art_text,aut_auteurs, art_date FROM Auteur JOIN Arts ON Arts.aut_num = Auteur.aut_num JOIN categorie ON Arts.cat_num = categorie.cat_num WHERE Arts.aut_num IN ( SELECT aut_num FROM Auteur )1, 1

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 '1, 1' at line 2"

hum le un et un si je ne me trompe pas sa veut dire que la requete serait fausse, pourtant sa passe sous phpmyadmin
Monkey_nhk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 15h03   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
oui pourquoi faire : $premiereEntree.', '.$messagesParPage
il te manque le LIMIT non ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 15h14   #5
Invité de passage
 
Sam
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Sam

Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 1
Points : 1
dans la sous requette je fais afficher mes num Auteur et j'en ai que deux donc je ne vois pas l'interet du limit 0,2 sachant que sa n'evoluera sans doute pas par la suite.
Monkey_nhk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 15h16   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
Citation:
Envoyé par Monkey_nhk Voir le message
dans la sous requette je fais afficher mes num Auteur et j'en ai que deux donc je ne vois pas l'interet du limit 0,2 sachant que sa n'evoluera sans doute pas par la suite.
c'est pourtant ce que t'essaye de faire en mettant :
Code :
$premiereEntree.', '.$messagesParPage
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 15h53   #7
Invité de passage
 
Sam
Inscription : janvier 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Sam

Informations forums :
Inscription : janvier 2011
Messages : 5
Points : 1
Points : 1
bas en faite en supprimant juste cela '.$premiereEntree.', '.$messagesParPage

ma requete s'execute donc je pense que je ne doit pas bien "encapsuler " ( à defaut du mot que je cherche dans ma tete )

merci de ton aide tu merites bien toutes tes etoiles ^^
Monkey_nhk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 11h12   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 466
Points : 8 466
cool,
prend bien l'habitude, de toujours mettre ta requête dans une autre variable avant, et si t'as PDO (ou mysqli) je te conseil vivement de migrer
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h32.


 
 
 
 
Partenaires

Hébergement Web