IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur SQLSTATE[42000] [1203] [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 9
    Points : 12
    Points
    12
    Par défaut Erreur SQLSTATE[42000] [1203]
    Bonjour,

    Je me retrouve depuis quelques temps confrontés à une erreur que je ne parviens pas à résoudre. Il s'agit de l'erreur SQLSTATE [42000] [1203] dont le message est "L'utilisateur %s possède déjà plus de 'max_user_connections' connections actives".

    Je comprends pourquoi j'ai cette erreur. En faite, à chacune des opérations qui nécessite une connexion à la base de donnée, je l'enregistre dans une page que j'ai appelé functionsSQL.php. Dans cette page, j'ai donc toutes mes fonctions qui doit se connecter à la base de donnée plus une fonction connexionbdd() qui permet de m'y connecter.

    Pour exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    <?php
    /**
     * Fonction de connexion à la base de donnée
     */
    function connexionbdd()
    {
    	$type = 'mysql';
    	$host = 'localhost';
    	$db = 'zeldapla2';
    	$login = 'root';
    	$passwd = 'root';
     
    	try
    	{
    		$bdd = new PDO($type.':host='.$host.';dbname='.$db, $login, $passwd);
    	}
    	catch (PDOException $e)
    	{
    		echo 'La connexion a échoué.<br />';
    		echo 'Informations : [', $e->getCode(), '] ', $e->getMessage(); // On affiche le n° de l'erreur ainsi que le message
    	}
    	catch (Exception $e)
    	{
    		die('Erreur SQL : '.$e->getMessage());
    	}
    	return $bdd;
    }
     
    /**
     * Fonction permettant à un utilisateur de se connecter sur le site
     */
    function connexionSite($pseudo, $passwd)
    {
    	$db = connexionbdd();
    	$sql = 'SELECT COUNT(*), M.id, M.email, M.rang, P.peuple, P.niveau
    			FROM membres M, participants P
    			WHERE P.id_membre = M.id
    				AND pseudo = :pseudo
    				AND passwd = :passwd';
     
    	$req = $db->prepare($sql)
    		or die(print_r('Erreur SQL : <br />'.$sql.'<br />'.$db->errorInfo()));
     
    	$req->bindValue(':pseudo', $pseudo);
    	$req->bindValue(':passwd', $passwd);
     
    	$req->execute();
     
    	$db = null;
    	return $req->fetch();
    }
    ?>
    A première vue, le souci ne m'a pas semblé évident mais on m'a dit que mettre ma variable $db à null ne détruisait pas l'objet. Elle ne faisait que détruire ses références. J'ai donc tenté plusieurs solutions à partir de cette là mais à chaque fois, je reviens à rouvrir la connexion et la refermé en la mettant à null.

    J'espère que vous serez m'éclairez sur la bonne marche à suivre.

    Merci d'avance !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Tu veux une confirmation des PROS
    Alors voila ma réponse !


    Oui OK tu as juste oublié que PDO est une classe donc
    ta ligne $db = null; Ne ferme pas ta connection bien sur.
    Alors en local la pile est loin d'étre saturée, mais sur le web Pffff
    Si tu ne le crois pas, fais le test, c'est enfantin !
    Dernière modification par sabotage ; 06/09/2010 à 19h27. Motif: lien externe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur incompréhensible SQLSTATE[42000]
    Par smccbbm dans le forum Requêtes
    Réponses: 1
    Dernier message: 23/12/2014, 11h52
  2. Réponses: 2
    Dernier message: 05/03/2013, 13h52
  3. [PDO] Erreur louche : 'SQLSTATE[42000]: Syntax error or access violation: 1064'
    Par oliopur dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/03/2012, 17h10
  4. [MySQL] Erreur SQL : SQLSTATE[42000]: Syntax error or access violation: 1064
    Par petit.quent dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/12/2011, 16h13
  5. [PDO] Erreur incompréhensible : 'SQLSTATE[42000]: Syntax error or access violation: 1064'
    Par cyril_k dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 13/12/2008, 12h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo