Probleme de requete mysql en php
Nataniel
-
Nataniel -
Nataniel -
Bonjour,
j'ai dans l'idee de creer un traducteur Na'vi <-> Francais, mais lorsque je lance la recherche (par une methode POST), rien ne s'affiche, ni erreur ni resultat de recherche :/ voici mon code
Voila et lorsque je dégage la boucle (juste le WHILE et les {}) j'obtiens le résultat suivant :
"kaltxì (donc ma variable $motNavi passe bien)se traduit par (et là cela n' affiche rien donc $donnees['francais'] ne retourne rien, meme pas d'erreur)"
j'ai dans l'idee de creer un traducteur Na'vi <-> Francais, mais lorsque je lance la recherche (par une methode POST), rien ne s'affiche, ni erreur ni resultat de recherche :/ voici mon code
<?php
//recuperation des variables POST
$motNavi = $_POST['motnavi'];
//connection à la BDD
mysql_connect("SSSSSSSSS", "LOGIN", "PASSWORD") /*effacer*/or die ("echec connection");
mysql_select_db("NAMEBDD") /*effacer*/or die ("marche po");
//suite du programme
//Execution de la recherche
$recherche = "SELECT * FROM `catalogue` WHERE `navi` = \'%$motNavi%\' LIMIT 0, 30 "or die(mysql_error());
while ($donnees = mysql_fetch_array($recherche) )
{
?>
<font color="#000000"><?php echo $motNavi ; ?> ce traduit par <?php echo $donnees['francais']; ?></font><br />
<?php
}
mysql_close();
?>
Voila et lorsque je dégage la boucle (juste le WHILE et les {}) j'obtiens le résultat suivant :
"kaltxì (donc ma variable $motNavi passe bien)se traduit par (et là cela n' affiche rien donc $donnees['francais'] ne retourne rien, meme pas d'erreur)"
A voir également:
- Probleme de requete mysql en php
- 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
- Erreur de requete facebook - Forum Facebook
- Mysql error 2002 ✓ - Forum Linux / Unix
8 réponses
Bonjour,
J'ai un doute sur la syntaxe :
$recherche = "SELECT * FROM `catalogue` WHERE `navi` = \'%$motNavi%\' LIMIT 0, 30 "or die(mysql_error());
essai ça à la place histoire de vérifier :
$recherche = "SELECT * FROM catalogue WHERE navi = $motNavi LIMIT 0, 30 ";
@+
J'ai un doute sur la syntaxe :
$recherche = "SELECT * FROM `catalogue` WHERE `navi` = \'%$motNavi%\' LIMIT 0, 30 "or die(mysql_error());
essai ça à la place histoire de vérifier :
$recherche = "SELECT * FROM catalogue WHERE navi = $motNavi LIMIT 0, 30 ";
@+
Bonjour
Il te manque le mysql_query :
Il te manque le mysql_query :
$requete = "SELECT * FROM `catalogue` WHERE `navi` = \'%$motNavi%\' LIMIT 0, 30 "; $recherche = mysql_query($requete) or die(mysql_error()); while ($donnees = mysql_fetch_array($recherche) )
Autre erreur : il ne faut pas de \ devant les ' dans une chaine entre " "
$requete = "SELECT * FROM `catalogue` WHERE `navi` = '%$motNavi%' LIMIT 0, 30 ";
$requete = "SELECT * FROM `catalogue` WHERE `navi` = '%$motNavi%' LIMIT 0, 30 ";
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai essayer toute vos solution mais c'est le meme delire :'( a croire que ma base est vide lol (pourtant je vous assure que non et que toute mes variable sont juste :'()
dans ton WHERE, il faut utiliser LIKE pour la recherche, car = cherche une égalité exacte
$requete = "SELECT * FROM `catalogue` WHERE `navi` LIKE '%$motNavi%' LIMIT 0, 30 ";
$requete = "SELECT * FROM `catalogue` WHERE `navi` LIKE '%$motNavi%' LIMIT 0, 30 ";