Je travaille des scripts PHP comme indiqué ci-dessous: -PHP: faire le script "connexion DB" une fois pour toutes
fichier main.php:
<?php
include'../scripts/pdoMysqlPhpScript1.php';
?>
fichier pdoMysqlPhpScript1.php:
<?php
include 'login.php';
$dbh-> query('use testdata1970_10');
foreach($dbh->query('call getallusers();') as $row)
?>
fichier login.php:
<?php// PDO is used
$dsn = 'mysql:host=localhost; Port=3306';
$user = 'root';
$pswd = '';
$dbh = new PDO($dsn, $user, $pswd,
array(PDO::ATTR_PERSISTENT, TRUE));
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
?>
Ça marche.
Cependant, si j'inclut login.php dans main.php et supprimer login.php de pdoMysqlPhpScript1.php. Cela n'a pas fonctionné. Pourquoi est-ce et comment puis-je m'assurer que login.php est utilisé une fois pour que je n'aie plus besoin de l'utiliser pour tous les services de nombreux fichiers php ou procédures stockées jusqu'à ce qu'il soit fermé à la fin du script?
par exemple: -
fichier main.php:
<?php
include 'login.php'; //scripts inside:- $dbh = new PDO($dsn, $user, $pswd,....);
include 'fileA.php'; //scripts inside:- $dbh = query('use storedprocedure');
include 'fileB.php'; //scripts inside:- $dbh -> query ('select x from xtable');
include 'fileC.php'; //scripts inside:- $stmt = $dbh->prepare('select name, value from test where name=:what');
include 'fileD.php'; //scripts inside:- $dbh = query('select testtable()');
include 'fileE.php'; //scripts inside:- $stmt = $dbh->prepare('select name, value from test');
?>
S'il vous plaît conseiller Merci
Clement
Vous dites "Cela n'a pas fonctionné", mais qu'est-ce qui n'a pas fonctionné? Y a-t-il eu un message d'erreur quelconque? –