[PDO]Lors de l'execution:SQLSTATE[HY000]: General error:
Résolu
ajp55
Messages postés
426
Date d'inscription
Statut
Membre
Dernière intervention
-
oraceLaLimace Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
oraceLaLimace Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
Bonjour
J'essaye de travailler avec l'objet PDO depuis un certain temps et là
je tombe sur cette erreur un peu assez vague.
Voici la requete
Voici le sens de cette requete.
Je voudrai selectionner la reduction
donc benefierai un etudiant. Ici l'etudiant beneficie de la reduction
dont l'ID est 9. J'y mettrai une liste plutard et utilisera ID IN (liste).
Faut souligner que la requete marche parfaitement sur phpmyadmin
et donne le resultat attendu, mais par l'interface PDO
voici l'erreur
Trop vague!!!
Quelqu'un peut il m'aider ou élucider le problem?
Merci d'avance pour vos réponses
J'essaye de travailler avec l'objet PDO depuis un certain temps et là
je tombe sur cette erreur un peu assez vague.
Voici la requete
-- Creation de la table temporaire -- CREATE TEMPORARY TABLE tmpfrais( MONTANTFRAIS double, MONTANTREDUCTION double, TYPEREDUCTION varchar(15) ); -- Verouiller les tables impliquees et Remplir la table tmp -- LOCK TABLES classe_reduction r READ, classe_frais f READ; INSERT INTO tmpfrais SELECT f.MONTANT, r.MONTANT, r.TYPE FROM classe_reduction r LEFT JOIN classe_frais f ON (r.IDFRAIS = f.ID) WHERE r.ID = 9; -- Selectionner et multiplier -- SELECT IF( TYPEREDUCTION = 'pourcentage', (MONTANTREDUCTION*MONTANTFRAIS)/100, MONTANTREDUCTION) AS MONTANT FROM tmpfrais; -- Deverouiller et tmpfrais se supprime directement UNLOCK TABLES; DROP TABLES tmpfrais;
Voici le sens de cette requete.
Je voudrai selectionner la reduction
donc benefierai un etudiant. Ici l'etudiant beneficie de la reduction
dont l'ID est 9. J'y mettrai une liste plutard et utilisera ID IN (liste).
Faut souligner que la requete marche parfaitement sur phpmyadmin
et donne le resultat attendu, mais par l'interface PDO
voici l'erreur
SQLSTATE[HY000]: General error
Trop vague!!!
Quelqu'un peut il m'aider ou élucider le problem?
Merci d'avance pour vos réponses
A voir également:
- Sqlstate hy000
- Le service spouleur d'impression local n'est pas en cours d'exécution - Guide
- Erreur d'exécution 13 incompatibilité de type ✓ - Forum Programmation
- Au démarrage de l’ordinateur, le d' se lance. il permet l’exécution des logiciels applicatifs et gère l’utilisation des ressources matérielles (mémoire, processeur, périphériques). - Forum Alimentation PC
- Processus d'execution client serveur - Forum Windows 10
- Problème de périphériques - Forum Pilotes (drivers)
3 réponses
Merci oraceLaLimace, mais j'ai résolu l probleme autrement, juste par chance, parce que la requete marche bien sur phpmyadmin, je crois q le probleme c'etai donc PDO. Pour résoudre le problem, j'ai découpé ma requete en 4 differente requete et les a executer separament. c'est t'à dire
et tout a marche.
$pdo->exec('-- Creation de la table temporaire -- CREATE TEMPORARY TABLE tmpfrais( MONTANTFRAIS double, MONTANTREDUCTION double, TYPEREDUCTION varchar(15) ); ' ); $pdo->exec(' -- Verouiller les tables impliquees et Remplir la table tmp -- LOCK TABLES classe_reduction r READ, classe_frais f READ; INSERT INTO tmpfrais SELECT f.MONTANT, r.MONTANT, r.TYPE FROM classe_reduction r LEFT JOIN classe_frais f ON (r.IDFRAIS = f.ID) WHERE r.ID = 9; '); $res = $pdo->query(' -- Selectionner et multiplier -- SELECT IF( TYPEREDUCTION = 'pourcentage', (MONTANTREDUCTION*MONTANTFRAIS)/100, MONTANTREDUCTION) AS MONTANT FROM tmpfrais; '); $pdo->exec(" -- Deverouiller et tmpfrais se supprime directement UNLOCK TABLES; DROP TABLES tmpfrais;" );
et tout a marche.