0

以下に示すように、PHPスクリプトを実行しています:-

main.php ファイル:

<?php 
include'../scripts/pdoMysqlPhpScript1.php'; 
?>

pdoMysqlPhpScript1.php ファイル:

<?php
     include 'login.php';
     $dbh-> query('use testdata1970_10');
     foreach($dbh->query('call getallusers();') as $row)
?>

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);
?>

それは働いています。

しかし、main.php に login.php を含め、pdoMysqlPhpScript1.php から login.php を削除すると、それは動かなかった。

スクリプトの最後で閉じられるまで、多くの異なるphpファイルまたはストアドプロシージャからすべてのサービスに対して再度使用する必要がないように、login.phpが1回使用されることを確認するにはどうすればよいですか?

例えば:-

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'); 
?>  

助言してください ありがとう
クレメント

4

1 に答える 1

0

login.php を 1 回使用して、スクリプトの最後で閉じられるまで、多くの異なる php ファイルまたはストアド プロシージャからすべてのサービスに対して再度使用する必要がないようにするにはどうすればよいですか?

現在行っているように実行してください - メインスクリプトの一番上に含めてください。グローバルスコープ内で変数
をアドレス指定していることのみを確認してください。$dbhそれ以外の場合 (つまり、関数内) を使用してアクセスできるようにする必要がありますglobal $dbh;

于 2013-02-08T03:13:16.523 に答える