Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/06/2007, 16h49   #1
Futur Membre du Club
 
Inscription : juin 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 63
Points : 18
Points : 18
Par défaut Problème PDO ou MySQL :\

Bonjour à tous,

J'ai un nouveau problème avec une requête, certes un peu compliqué, mais qui a priori devrait marcher pourtant voilà le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$sql2 = $db->prepare("SELECT count(*) 
FROM activite 
WHERE (
(`annee`=':anneedebut' AND 
           (`mois`>':moisdebut' OR 
                     (`mois`=':moisdebut' AND `jour`>':jourdebut')
           )
) OR 
(`annee`=':anneefin' AND 
           (`mois`<':moisdebut' OR
                     (`mois`=':moisdebut' AND `jour`<':jourdebut')
           )
)
) 
AND `code_affaire`=':id'");
 
$sql2->execute(array(':anneedebut' => $_POST['annee'], ':moisdebut' => $_POST['mois'], ':jourdebut' => $_POST['jour'], ':anneefin' => $annee2, ':id' => $donnees['id'])) or die($sql2->errorInfo());
$donnees2 = $sql2->fetch(PDO::FETCH_ASSOC);
Toutes les valeurs du execute() sont bonnes (j'ai vérifié avec un echo), mais lorsque j'exécute ça, il "die", et met juste "Array" comme $sql2->errorInfo()...

Une idée ?
WerKa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2007, 17h55   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
die attend une chaîne de caractères (ou un entier) mais en aucun cas un tableau comme en renvoie errorInfo(). Il faudrait écrire, par exemple :
Code :
1
2
3
if (!$sql2->execute(array(':userid' => $userid))) {
    print_r($sql2->errorInfo());
}
Comme je l'avais suggéré dans votre précédent post (sinon il faut utiliser le deuxième paramètre de print_r).

Mais ça ne rejoindrais pas le problème de Yoshio ?

Avec des champs date ne serait-ce pas plus simple (between) au niveau de votre requête ?
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h32.


 
 
 
 
Partenaires

Hébergement Web