Exécution d'une requete PDO ne fonctionne pas
Bonjour,
Je sais que la question revient souvent (puisque j'ai arpenté les forums) mais je n'ai pas pu trouver une solution pour mon cas.
J'utilise pas mal les requêtes PDO, mais j'en ai une qui ne veut pas s'exécuter ou plutôt elle ne renvoi rien, alors qu'elle s'exécute très bien dans PHPMyAdmin :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| function connection(){
$dbh = new PDO('mysql:host=serveur;port=3306;dbname=dbname','user','password');
$dbh ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $dbh;
};
function get_user($bdd){
try{
Header('Content-Type: application/json; charset=utf-8');
echo 'debut fonction';// Ajouté pour m'assurer que la fonction s'exécute
$str = 'SELECT t1.ID,t1.user_login,t1.user_email,t1.display_name,t4.name,t6.nom_edp,t7.statut,t1.user_registered,t9.formation
FROM table1 t1 LEFT OUTER JOIN table2 t2 ON t1.id = t2.user_id
LEFT OUTER JOIN table3 t3 ON t1.ID = t3.user_id
LEFT OUTER JOIN table4 t4 ON t3.membership_id =t4.id
LEFT OUTER JOIN table5 t5 ON t1.ID = t5.user_id
LEFT OUTER JOIN table6 t6 ON t5.meta_value = t6.nom_ogma
LEFT OUTER JOIN table7 t7 ON t1.ID = t7.user_id
LEFT OUTER JOIN table8 t8 ON t1.ID = t8.user_id
LEFT OUTER JOIN table9 t9 ON t8.id_formation=t9.id
WHERE t2.meta_key ="key_1" AND t5.meta_key="key" AND t2.meta_value="0"
AND (t3.status = "active" OR t3.status = "admin cancelled")
ORDER BY t1.user_registered;';
$statement = $bdd->query($str);
$statement->execute();
$results = $statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($results);
echo $json;
}catch (Exception $e) {
echo 'Exception reçue : ', $e->getMessage(), "\n";
}
}
$dbh = connection();
get_user($dbh); |
j'ai essayé de planter la requête, et quand je le fais j'ai bien l'erreur qui s'affiche, donc je n'ai pas d'erreur apparemment :(.
En vous remerciant par avance,
Khalil