Rechercher : dans
Par :

PHP connexion bdd dans une variable session

Dernière réponse le 16 jun 2009 à 17:28:15 hammag, le 16 jun 2009 à 16:55:57 
 Signaler ce message aux modérateurs

Bonjour,

je cherche à crée une connexion vers une base mysql et mettre cette connexion dans une variable session pour que je puisse utiliser cette connexion dans autres pages, sans d'être obligé de faire une connexion dans chaque page de mon site.

dans la première page j'ai :

$_SESSION['connexionBDD'] = new DBConnexion('localhost', 'membre', 'membre', 'membre');

où DBConnexion est une classe héritant du mysqli.

normalement dans les autres pages j'utilise cette variable comme suit:

$req = $_SESSION['connexionBDD']->query('SELECT * FROM matable ') or die('Erreur SQL !<br />'.$req.'<br />'.mysql_error());	
				
/CODE

mais voilà, j'ai l'erreur suivante :

[CODE]
Warning: mysqli::query() [mysqli.query]: Couldn't fetch DBConnexion in K:\EasyPHP 3.0\www\Forum\Classes\Messages\ShowMessagesOfDiscussion.php on line 45
Erreur SQL !


donc, est-il possible de passer une connexion dans une variable session ? ou bien y a un autre problème.

Meilleures réponses pour « PHP connexion bdd dans une variable session » dans :
Connexion à une base Oracle en php Voir1. Périmètre Cet article est un exemple de connexion à une base Oracle par le biais d'un script php. Cet article ne traite pas la configuration de votre serveur Oracle, et de votre client Oracle. Nous partons du principe que vous pouvez accéder à...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
PHP - Concaténation VoirPHP permet de concaténer des chaînes de caractères grâce à l'opérateur "." : $concatenation= $a . $b; Ou encore pour affecter, dans la variable $a, la valeur de la concaténation de $a et de $b : $a.=$b; Pour concaténer des chaînes et des...
PHP - Connexion à un annuaire LDAP VoirIntroduction à LDAP PHP permet la connexion et l'envoi de requêtes sur un annuaire LDAP, c'est-à-dire un serveur permettant de stocker des informations de manière hiérarchique. Un serveur LDAP est conçu pour être capable de gérer les opérations...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

luc648, le 16 jun 2009 à 16:58:09

A ta place je ferais un fichier connection.php avec l'ensemble des éléments de connection et après tu les mets en includes sur tes différentes pages ;) L'histoire est écrite par les vainqueurs ... 
Les logiciels, c'est comme le sexe: c'est pas parce que c'es­t payant que c'est meilleur

Répondre à luc648

2

hammag, le 16 jun 2009 à 17:01:36

Oui, mais si je ferais comme ça, se sera une connexion ouverte après l'ouverture de chaque page. Or moi je cherche si possible comme créer juste une seule connexion qui sera valable dans tout mon site.

Répondre à hammag

3

manelsousse, le 16 jun 2009 à 17:01:49

Effectivement luc648 on fait un fichier php enregistré sous connection.php et dans chaque page on ecrit include("connexion.php"); avant de selectioner de la base

Répondre à manelsousse

4

Pwoned, le 16 jun 2009 à 17:02:00

Salut,

Perso, j'utiliserais une méthode un peu différente :

$_session["maconnec"] = mysql_pconnect(arguments);

Ou même mettre ça dans une constante, ou une variable serveur, ...

L'avantage : c'est la même connexion persistante pour toutes les sessions, donc le même ID, la connexion reste ouverte, ...
Bref, c'est une connexion persistante.

Par contre, il faut s'assurer que c'est compatible avec ton infrastructure (notamment contrôler le nombre de connexion SQL autorisées sur le serveur de base de données).

Répondre à Pwoned

5

manelsousse, le 16 jun 2009 à 17:08:28

Les sessions ne sont pas tj valables essayez d'effacer l'historique de votre navigation et vous voyez que la session est detriute que faire alors?

Répondre à manelsousse

6

Pwoned, le 16 jun 2009 à 17:16:34

If(!isset($_SESSION))
{
session_start();
$_session["maconnec"] = mysql_pconnect(args);
}

Si la session est détruite, il en recrée une.

Répondre à Pwoned

7

manelsousse, le 16 jun 2009 à 17:22:39

Le contenu des sessions s'enregistrent dans le PC et ca sera facile a les acceder si quelqun est pro dans le domaine

Répondre à manelsousse

8

Pwoned, le 16 jun 2009 à 17:25:09

Non, dans le PC tu as un identifiant.
Ensuite, il est transmit au serveur et c'est sur le serveur que sont stockées les données.

Là, tu dois confondre avec les cookies, qui sont, eux, stockés coté client.

Ou alors il y a un truc caché dont j'ai jamais entendu parler pour gérer les sessions...

Répondre à Pwoned

9

 manelsousse, le 16 jun 2009 à 17:28:15

Excusez moi jai trompé c vrai se sont les cookies qui sont stockés coté client

Répondre à manelsousse