Erreur requête SQL avec WHERE
Résolu
CorentinRoche
Messages postés
287
Statut
Membre
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Petit soucis j'essaye de faire une requête SQL avec un WHERE REF_client = $donnees_client['REF_client']
Lorsque je fait la requête manuellement c'est a dire de cette manière :
Ça fonctionne !
Mais lorsque je veux utiliser ça :
voici l'erreur :
le code complet :
Un echo $donnees_client['REF_client']; me retourne bien proprement : CorentinROCHE
Je comprend que dans l'erreur la requête ne trouve pas la colonne 'CorentinROCHE"' alors que c'est la colonne REF_Client qui est concerner .....
Pour info voici la table SQL:

Petit soucis j'essaye de faire une requête SQL avec un WHERE REF_client = $donnees_client['REF_client']
Lorsque je fait la requête manuellement c'est a dire de cette manière :
$recup_facture_client = $bdd->query('SELECT * FROM Factures WHERE REF_client = CorentinROCHE');
Ça fonctionne !
Mais lorsque je veux utiliser ça :
$recup_facture_client = $bdd->query('SELECT * FROM Factures WHERE REF_client = '. $donnees_client['REF_client'] .'');
voici l'erreur :
<b>Fatal error</b>: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'CorentinROCHE' in 'where clause' in /var/www/html/Gestion MSID/visualiser-un-client-part.php:153
Stack trace:
#0 /var/www/html/Gestion MSID/visualiser-un-client-part.php(153): PDO->query('SELECT * FROM F...')
#1 {main}
thrown in <b>/var/www/html/Gestion MSID/visualiser-un-client-part.php</b> on line <b>153</b><br />
le code complet :
<tbody>
<?php
if(!empty($arr_donnees_client)){
foreach($arr_donnees_client as $donnees_client ){
$recup_facture_client = $bdd->query('SELECT * FROM Factures WHERE REF_client = '. $donnees_client['REF_client'] .'');
}
}
while($donnees_facture_client = $recup_facture_client->fetch()) {
?>
<tr>
<td><?php echo $donnees_facture_client['REF_facture']; ?></td>
<td><?php echo $donnees_facture_client['dat_e']; ?></td>
<td><?php echo $donnees_facture_client['montant']; ?> €</td>
<td class="<?php if($donnees_facture_client['statut'] == "Payée"){echo "process";}else{echo "denied";} ?>"><?php echo $donnees_facture_client['statut']; ?></td>
</tr>
<?php
}
?>
</tbody>
Un echo $donnees_client['REF_client']; me retourne bien proprement : CorentinROCHE
Je comprend que dans l'erreur la requête ne trouve pas la colonne 'CorentinROCHE"' alors que c'est la colonne REF_Client qui est concerner .....
Pour info voici la table SQL:
A voir également:
- Erreur requête SQL avec WHERE
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
$sql = 'SELECT * FROM Factures WHERE REF_client = :ref ', $datas = array(':ref'=> $donnees_client['REF_client'] ); //Execution de la requete try{ $requete = $bdd -> prepare($sql) ; $requete->execute($datas) ; $recup_facture_client = $requete->fetchAll(); // on stocke le résultat dans un array // $recup_facture_client = $requete->fetch(); // ou un simple fetch si tu n'attends qu'une seule réponse }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); }et dans ce cas, remplacer ton while par un foreach
foreach( $recup_facture_client as $donnees_facture_client ) {ça fonctione bien maintenant en rajoutant les quotes.
Effectivement ce n’était pas ça :
$recup_facture_client = $bdd->query('SELECT * FROM Factures WHERE REF_client = CorentinROCHE');Mais ça :
$recup_facture_client = $bdd->query('SELECT * FROM Factures WHERE REF_client = 'CorentinROCHE'');Quand ma requête fonctionner ..
Pense à mettre le sujet en résolu.
Pour un fetch classique je fait juste un écho de la requête préparer->fetch()
Mais pour un fetchall ?
Mon but et de pouvoir faire du et
Dans un tableau qui va m'afficher toutes les factures d'un client.
Merci encore