php – 如何从不同的文件访问函数内的变量?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何从不同的文件访问函数内的变量?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_403_2@
我有两个文件,一个functions.PHP,它包含一个连接数据库的PDO对象,包含作为变量的列和一个index.PHP,用于输出包含数据的变量.数据库连接工作但是当我尝试从我的函数回显变量时,它返回undefined,我做错了什么;

的functions.PHP

<? PHP 

function connectDB() {
    $hostname = 'xxxxxxxx';
    $db = 'xxxxxxx';
    $user = 'xxxxxxxx';
    $pass = 'xxxxxxx';

    $dbh = new PDO("MysqL:host=$hostname; dbname=$db; charset=utf8",$user,$pass,array(PDO::ATTR_EMULATE_PREPARES => false,PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); 

    $sql = "//my query";

    $query = $dbh->prepare($sql);
    $query->execute(array('//value','//value'));            
    $query->setFetchMode(PDO::FETCH_ASSOC);

    while ($r = $query->fetch()):

        $VAR1 = $r['column1']; 
        $var2 = $r['column2'];
        $var3 = $r['column3'];
        $var4 = $r['column4'];
        $var5 = $r['column5'];

    endwhile;                                                       

}

?>

的index.PHP

<?PHP
include 'functions.PHP';

?>

<?PHP 

try {

connectDB();
echo 'You are connected to Database';
echo $var1;
$dbh = null; 

    }
catch(PDOException $e) { 
        echo $e -> getMessage(); 
    }

?>

解决方法

这些变量认是connectDB()函数的本地变量,因此您必须事先在全局范围内声明它们,或者使用$GLOBALS来设置它们:

方法1

<? PHP 

    $var1 = ''; 
    $var2 = '';
    $var3 = '';
    $var4 = '';
    $var5 = '';

function connectDB() {
    $hostname = 'xxxxxxxx';
    $db = 'xxxxxxx';
    $user = 'xxxxxxxx';
    $pass = 'xxxxxxx';

    $dbh = new PDO("MysqL:host=$hostname; dbname=$db; charset=utf8",'//value'));            
    $query->setFetchMode(PDO::FETCH_ASSOC);

    while ($r = $query->fetch()):

        $var1 = $r['column1']; 
        $var2 = $r['column2'];
        $var3 = $r['column3'];
        $var4 = $r['column4'];
        $var5 = $r['column5'];

    endwhile;                                                       

}

?>

方法2

<? PHP 

function connectDB() {
    $hostname = 'xxxxxxxx';
    $db = 'xxxxxxx';
    $user = 'xxxxxxxx';
    $pass = 'xxxxxxx';

    $dbh = new PDO("MysqL:host=$hostname; dbname=$db; charset=utf8",'//value'));            
    $query->setFetchMode(PDO::FETCH_ASSOC);

    while ($r = $query->fetch()):

        $GLOBALS['var1'] = $r['column1']; 
        $GLOBALS['var2'] = $r['column2'];
        $GLOBALS['var3'] = $r['column3'];
        $GLOBALS['var4'] = $r['column4'];
        $GLOBALS['var5'] = $r['column5'];

    endwhile;                                                       

}

?>

真诚的,你的复制粘贴服务:)

@H_403_2@

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何从不同的文件访问函数内的变量?全部内容,希望文章能够帮你解决php – 如何从不同的文件访问函数内的变量?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。