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 10/04/2006, 16h42   #1
Futur Membre du Club
 
Inscription : avril 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2006
Messages : 25
Points : 18
Points : 18
Par défaut Problème avec le driver MySQL ?

Bonjour tout le monde
J'ai un petit probleme avec pdo, alors que j'ai deja fait plusieurs requete avant, une requete exactement comme les autre m'indique une erreur
Voici l'erreur:
Citation:
Array ( [0] => HY000 [1] => 2036 [2] => )
La connexion se fait avec une classe:
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
public function __construct()
   {
      /* Connexion a une base de donnees ODBC en invoquant un driver */
      // Version pour MYSQL
      $dsn = 'mysql:host=localhost;dbname=test';
      $user = 'root';
      $password = '';	
 
      try
      {
         Connexion::$dbh = new PDO($dsn, $user, $password);
	 Connexion::$dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, TRUE);
         if(Connexion::$dbh == NULL) echo "Objet PDO non cree<br/>";
      }
      catch (PDOException $e)
      {
         echo '<br/>Echec de la connexion : ' . $e->getMessage().'<br/>';
      }
    }
 
   public static function laConnexion ()
   {
      if(Connexion::$dbh == NULL){ new Connexion(); }
      if(!Connexion::$dbh) die("Erreur connexion");
   return Connexion::$dbh;
   }
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
function test()
{
	$conn=Connexion::laConnexion();
	$sql="SELECT *"
	." FROM UTILISATEUR u"
	." WHERE u.ID_UTIL='$id'"
 
	$result=$conn->query($sql);
 
	if(!$result)
        {
              print_r($conn->errorInfo());
              die("<br/>Erreur select:<br/> $sql");
        }
	return $result;
}
Si quelqu'un qui connais pdo peut m'aider svp
Merci d'avance
++
SimMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2006, 16h47   #2
Membre expérimenté
 
Inscription : octobre 2004
Messages : 872
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 872
Points : 582
Points : 582
salut
Citation:
Array ( [0] => HY000 [1] => 2036 [2] => )
pour moi c'est un resultat bon
en quoi est ce une erreur
jeff_! est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2006, 18h04   #3
Futur Membre du Club
 
Inscription : avril 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2006
Messages : 25
Points : 18
Points : 18
il va dans le test : "if(!$result)"
donc la requete n'a pas fonctionner
et errorInfo est une methode de PDO
http://php.benscom.com/manual/fr/function.pdostatement-errorinfo.php

J'ai donc une erreur SQLSTATE (HY000) et une erreur spécifique au driver (2036) j'utilise le driver mysql

Mais je n'arrive pas a savoir à quoi cela correspond et comment je peut résoudre ce pb...
SimMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2006, 18h25   #4
Futur Membre du Club
 
Inscription : avril 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2006
Messages : 25
Points : 18
Points : 18
j'ai trouvé ca, mais je ne comprend pas l'erreur
http://dev.mysql.com/doc/refman/5.0/fr/error-handling.html
SimMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2006, 21h58   #5
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
Salut,

Pour le code d'erreur je ne sais pas, mais il sort d'ou le $id ici :

Code :
1
2
3
4
5
 
$sql="SELECT * 
FROM UTILISATEUR u
WHERE u.ID_UTIL='$id'
";
Sinon, comme tu ne la bind pas, fais en un echo et passe la dans phpmyadmin, se sera plus simple pour determiner l'erreur.

bye
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2006, 23h06   #6
Futur Membre du Club
 
Inscription : avril 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2006
Messages : 25
Points : 18
Points : 18
he bien dans phpmyadmin y'a aucun probleme la requete fonctionne, le $id vient du parametre que j'ai oublier de recopier...
SimMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2006, 08h39   #7
Futur Membre du Club
 
Inscription : avril 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2006
Messages : 25
Points : 18
Points : 18
sauf que c'est pas encore résolu

J'ai mis directement la requete que je veux faire, qui fonctionne dans phpmyadmin:

Code :
SELECT tps FROM TRAVAILLE t, POLE p, UTILISATEUR u WHERE p.ID_POLE='1' AND u.ID_UTIL='5' AND t.LADATE BETWEEN '2006-04-01' AND '2006-04-31' AND p.ID_POLE=t.ID_POLE AND u.ID_UTIL=t.ID_UTIL
j'ai tjs la meme erreur
SimMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2006, 08h42   #8
Futur Membre du Club
 
Inscription : avril 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2006
Messages : 25
Points : 18
Points : 18
J'ai meme fait juste un "select * from UTILISATEUR" et ca m'indique toujours la meme erreur
SimMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2006, 13h48   #9
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
Ce sont toutes tes requetes qui plante ou juste celle ci ?
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2006, 17h45   #10
Futur Membre du Club
 
Inscription : avril 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2006
Messages : 25
Points : 18
Points : 18
ca le faisait sur n'importe quelle requete.
MAis c'est bon, j'ai arreter d'utiliser pdo et j'utilise maintenant mysqli

Je pense que c'était le package pdo ou le driver pdo_mysql qui avait un probleme.

Merci quand meme pour vos aides
SimMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2006, 18h04   #11
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
Citation:
Je pense que c'était le package pdo ou le driver pdo_mysql qui avait un probleme.
effectivement j'allais en venir ici aussi.

Mais bon normalement sa fonctionne bien PDO En tout chez moi sa fonctionne.
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/04/2006, 19h01   #12
Futur Membre du Club
 
Inscription : avril 2006
Messages : 25
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : avril 2006
Messages : 25
Points : 18
Points : 18
he bien sur mon portable aussi il fonctionne trés bien (debian sarge)
Mais j'ai préferé changer sur mon poste de travail car ca me ralentisser trop les erreurs de ce type.
SimMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h03.


 
 
 
 
Partenaires

Hébergement Web