Problème requête SQL
parousky
Messages postés
325
Date d'inscription
Statut
Membre
Dernière intervention
-
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai une table SQL dans laquelle des champs parmi ceux que je veux récupérer sont des entiers. Alors je ne sais pas trop comment écrire cette requête. J'ai écrit ceci :
$req2 = $bdd->prepare("SELECT * FROM users WHERE (G = '1' AND R = '2') OR (G = '1' AND R = '23')");
while($donnees = $req2->fetch())
{
echo "Test";
echo $donnees['pseudo'];
}
Mais rien ne s'affiche ! Même pas Test, ce qui veut dire que je ne rentre même pas dans la boucle while ! Voyez-vous une erreur dans cette requête ?
Merci d'avance !
$req2 = $bdd->prepare("SELECT * FROM users WHERE (G = '1' AND R = '2') OR (G = '1' AND R = '23')");
while($donnees = $req2->fetch())
{
echo "Test";
echo $donnees['pseudo'];
}
Mais rien ne s'affiche ! Même pas Test, ce qui veut dire que je ne rentre même pas dans la boucle while ! Voyez-vous une erreur dans cette requête ?
Merci d'avance !
A voir également:
- Problème requête SQL
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Jointure sql ✓ - Forum MySQL
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
3 réponses
Prepare te permet de faire des requête préparé, celle-ci n'est as exécuté desuite.
Fais plutôt un query dans le cas présent à la place OU bien ->execute() avant le fetch
Fais plutôt un query dans le cas présent à la place OU bien ->execute() avant le fetch
Oui merci ça marche bien ! Enfin presque bien ! Je possède deux bases de données, j'effectue une première requête et j'affiche le résultat uniquement si la requête SQL de la deuxième table ne renvoie rien. Voilà ce que j'ai écris :
// PREMIERE REQUETE SQL
$req2 = $bdd->query("SELECT * FROM table1 WHERE (G = '1' AND R = '2') OR (G = '1' AND R = '23')");
while($donnees = $req2->fetch())
{
$pseudo1 = $donnees['Pseudo'];
$pseudo2 = $_SESSION['pseudo'];
// SECONDE REQUETE SQL
$req = $bdd->query("SELECT * FROM table2 WHERE (Pseudo1 = $pseudo1 AND Pseudo2 = $pseudo2) OR (Pseudo1 = $pseudo2 AND Pseudo2 = $pseudo1)");
$reponse = $req->fetch();
if(empty($reponse))
{
echo $donnees['Pseudo'];
// Affichage des données de chaque utlisateur.
}
}
Mais ça me dit qu'il y a une erreur sur la ligne "$reponse = $req->fetch()"
Et je ne vois pas trop comment résoudre ce problème...
Vois-tu une solution ?
Merci d'avance !
// PREMIERE REQUETE SQL
$req2 = $bdd->query("SELECT * FROM table1 WHERE (G = '1' AND R = '2') OR (G = '1' AND R = '23')");
while($donnees = $req2->fetch())
{
$pseudo1 = $donnees['Pseudo'];
$pseudo2 = $_SESSION['pseudo'];
// SECONDE REQUETE SQL
$req = $bdd->query("SELECT * FROM table2 WHERE (Pseudo1 = $pseudo1 AND Pseudo2 = $pseudo2) OR (Pseudo1 = $pseudo2 AND Pseudo2 = $pseudo1)");
$reponse = $req->fetch();
if(empty($reponse))
{
echo $donnees['Pseudo'];
// Affichage des données de chaque utlisateur.
}
}
Mais ça me dit qu'il y a une erreur sur la ligne "$reponse = $req->fetch()"
Et je ne vois pas trop comment résoudre ce problème...
Vois-tu une solution ?
Merci d'avance !