Probleme de syntaxee
Résolu/Fermé
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
-
18 févr. 2008 à 16:32
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 19 févr. 2008 à 08:49
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 19 févr. 2008 à 08:49
7 réponses
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
18 févr. 2008 à 17:09
18 févr. 2008 à 17:09
salut,
en fait tu as deux guillemets en trop.
et un p'tit tuto pour les apostrophes/guillemets
sql .="auteur LIKE '%".$_POST['auteur']."%'" AND "titre LIKE '%".$_POST['titre']."%'";
en fait tu as deux guillemets en trop.
sql .="auteur LIKE '%".$_POST['auteur']."%' AND titre LIKE '%".$_POST['titre']."%'";
et un p'tit tuto pour les apostrophes/guillemets
croy
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
114
18 févr. 2008 à 17:21
18 févr. 2008 à 17:21
Quelques suggestions de méthode :
1. analyser ce que tu veux faire : générer une partie de requête sql qui correspond à :
auteur LIKE '%xxxxx%' AND titre LIKE '%yyyy%'
(xxxx et yyyy étant le contenu de $_POST[ 'auteur' ] et $_POST['titre']
2. lire et comprendre le "p'tit tuto" suggéré par Dalida (à noter que dans "p'tit tuto" il y a p'tit tuto encadré par deux ")
3. écrire le code PHP correspondant.
Lorsque tu auras appliqué cette méthode deux ou trois fois tu sera devenu un expert.
Bon courage.
1. analyser ce que tu veux faire : générer une partie de requête sql qui correspond à :
auteur LIKE '%xxxxx%' AND titre LIKE '%yyyy%'
(xxxx et yyyy étant le contenu de $_POST[ 'auteur' ] et $_POST['titre']
2. lire et comprendre le "p'tit tuto" suggéré par Dalida (à noter que dans "p'tit tuto" il y a p'tit tuto encadré par deux ")
3. écrire le code PHP correspondant.
Lorsque tu auras appliqué cette méthode deux ou trois fois tu sera devenu un expert.
Bon courage.
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
18 févr. 2008 à 18:09
18 févr. 2008 à 18:09
je ne comprends pas car dans le code suivant:
if (($donnees['auteur']==$_POST['auteur']) && ($donnees['titre']==$_POST['titre']) && ($donnees['année']==$_POST['année']) && ($_POST['journal']=='') && ($_POST['motsclé']==''))
{
$sql .="auteur LIKE '%".$_POST['auteur']."%' AND ";
$sql .="titre LIKE '%".$_POST['titre']."%' AND ";
$sql .="année LIKE '%".$_POST['année']."%'";
$reponse2 = mysql_query($sql);
}
if (($donnees['auteur']==$_POST['auteur']) && ($donnees['titre']==$_POST['titre']) && ($_POST['année']) && ($donnees['journal']==$_POST['journal']) && ($_POST['motsclé']==''))
{
$sql .="auteur LIKE '%".$_POST['auteur']."%' AND ";
$sql .="titre LIKE '%".$_POST['titre']."%' AND ";
$sql .="journal LIKE '%".$_POST['journal']."%'";
$reponse2 = mysql_query($sql);
}
pour le 1er if ca marche nikel mais pour le 2éme ca ne marche pas et ca me mets Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\cc.php on line 135(qui est la suivanter while ($donnees = mysql_fetch_array($reponse2))=
si quelqu'un a une explication...
merci
if (($donnees['auteur']==$_POST['auteur']) && ($donnees['titre']==$_POST['titre']) && ($donnees['année']==$_POST['année']) && ($_POST['journal']=='') && ($_POST['motsclé']==''))
{
$sql .="auteur LIKE '%".$_POST['auteur']."%' AND ";
$sql .="titre LIKE '%".$_POST['titre']."%' AND ";
$sql .="année LIKE '%".$_POST['année']."%'";
$reponse2 = mysql_query($sql);
}
if (($donnees['auteur']==$_POST['auteur']) && ($donnees['titre']==$_POST['titre']) && ($_POST['année']) && ($donnees['journal']==$_POST['journal']) && ($_POST['motsclé']==''))
{
$sql .="auteur LIKE '%".$_POST['auteur']."%' AND ";
$sql .="titre LIKE '%".$_POST['titre']."%' AND ";
$sql .="journal LIKE '%".$_POST['journal']."%'";
$reponse2 = mysql_query($sql);
}
pour le 1er if ca marche nikel mais pour le 2éme ca ne marche pas et ca me mets Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\tests\cc.php on line 135(qui est la suivanter while ($donnees = mysql_fetch_array($reponse2))=
si quelqu'un a une explication...
merci
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
18 févr. 2008 à 18:12
18 févr. 2008 à 18:12
sans doute parce que tu concatènes sur ta première variable.
if (($donnees['auteur']==$_POST['auteur']) && ($donnees['titre']==$_POST['titre']) && ($_POST['année']) && ($donnees['journal']==$_POST['journal']) && ($_POST['motsclé']==''))
{
$sql ="auteur LIKE '%".$_POST['auteur']."%' AND ";
$sql .="titre LIKE '%".$_POST['titre']."%' AND ";
$sql .="journal LIKE '%".$_POST['journal']."%'";
$reponse2 = mysql_query($sql);
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
croy
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
114
18 févr. 2008 à 18:18
18 févr. 2008 à 18:18
Ta requête sql a manifestement un pb, pour analyser la raison, ajoute après to second $reponse2 = mysql_query($sql); (celui qui ne marche pas) :
if( !$reponse2 )
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $query;
die($message);
}
puis exécute ton script, note ce qui est affiché et réflechit.
if( !$reponse2 )
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $query;
die($message);
}
puis exécute ton script, note ce qui est affiché et réflechit.
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
18 févr. 2008 à 18:20
18 févr. 2008 à 18:20
c'est bon j'ai trouvé
merci
merci
Dalida
Messages postés
6728
Date d'inscription
mardi 14 mai 2002
Statut
Contributeur
Dernière intervention
11 janvier 2016
921
18 févr. 2008 à 23:42
18 févr. 2008 à 23:42
bah tu pourrais nous dire !
-;o)
-;o)
ladj59
Messages postés
322
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
29 décembre 2008
3
19 févr. 2008 à 08:49
19 févr. 2008 à 08:49
ben c'était juste ca j'avais oublié d'enlevé un = dans mon code