Requête SQL ne s’exécute pas
Fermé
Utilisateur anonyme
-
Modifié le 13 juin 2018 à 16:07
cyril-yann Messages postés 4 Date d'inscription vendredi 22 juin 2018 Statut Membre Dernière intervention 22 juin 2018 - 22 juin 2018 à 14:20
cyril-yann Messages postés 4 Date d'inscription vendredi 22 juin 2018 Statut Membre Dernière intervention 22 juin 2018 - 22 juin 2018 à 14:20
A voir également:
- Requête SQL ne s’exécute pas
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Sql server recovery - Télécharger - Gestion de données
- Requête sql doublons sur 2 champs ✓ - Forum Programmation
- Logiciel sql - Télécharger - Bases de données
3 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 juin 2018 à 10:11
20 juin 2018 à 10:11
Bonjour,
Le type de retour de mysqli_query n'est pas toujours booléen. Cf la doc : https://www.php.net/mysqli_query
« Retourne FALSE en cas d'échec. Pour des requêtes SELECT, SHOW, DESCRIBE ou EXPLAIN réussies, mysqli_query() retournera un objet mysqli_result. Pour les autres types de requêtes ayant réussi, mysqli_query() retournera TRUE. »
Dans ton cas (un SELECT), le type de retour est donc un objet mysqli_query. Du coup, ($ExecRequete == true) est FAUX même si la requête s'est exécutée.
C'est pour ça qu'on renverse la syntaxe
Par ailleurs, tu t'attends à voir apparaître le nom de ta première pizza, mais il te manque la ligne de code qui va lire le résultat de la requête. Ton
Regarde la doc que je t'ai donnée plus haut pour voir ce qu'il faut faire.
Xavier
Le type de retour de mysqli_query n'est pas toujours booléen. Cf la doc : https://www.php.net/mysqli_query
« Retourne FALSE en cas d'échec. Pour des requêtes SELECT, SHOW, DESCRIBE ou EXPLAIN réussies, mysqli_query() retournera un objet mysqli_result. Pour les autres types de requêtes ayant réussi, mysqli_query() retournera TRUE. »
Dans ton cas (un SELECT), le type de retour est donc un objet mysqli_query. Du coup, ($ExecRequete == true) est FAUX même si la requête s'est exécutée.
C'est pour ça qu'on renverse la syntaxe
if ($ExecRequete !== false)et non
if ($ExecRequete == true).
Par ailleurs, tu t'attends à voir apparaître le nom de ta première pizza, mais il te manque la ligne de code qui va lire le résultat de la requête. Ton
return $nomRequete;ne te renverra que le texte de ta requête SQL, tel que tu l'as écrit toi-même, et non son résultat.
Regarde la doc que je t'ai donnée plus haut pour voir ce qu'il faut faire.
Xavier
jee pee
Messages postés
40453
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 novembre 2024
9 417
Modifié le 13 juin 2018 à 16:25
Modifié le 13 juin 2018 à 16:25
Bonjour,
C'est probablement le
cdlt
C'est probablement le
==dans le select, ce n'est pas une syntaxe sql mais plutôt php (pour ne pas risquer d'affecter une valeur à une variable sur une comparaison).
cdlt
jordane45
Messages postés
38288
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 novembre 2024
4 703
13 juin 2018 à 17:05
13 juin 2018 à 17:05
Bonjour,
ça .. et aussi le caractère accentué dans le nom de la colonne à éviter.
ça .. et aussi le caractère accentué dans le nom de la colonne à éviter.
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
19 juin 2018 à 16:34
19 juin 2018 à 16:34
Bonjour,
je te conseille de passe à minima par un fichier que tu inclues pour tes paramètres de connexion à ta base. Sinon le jour où une modification intervient, tu seras obligée de passer dans toutes tes fonctions pour mettre à jour ces données.
je te conseille de passe à minima par un fichier que tu inclues pour tes paramètres de connexion à ta base. Sinon le jour où une modification intervient, tu seras obligée de passer dans toutes tes fonctions pour mettre à jour ces données.
22 juin 2018 à 14:20