include()没有获取先前定义的变量

时间:2013-07-18 02:51:44

标签: php

我很确定我只需要一个好的时尚大脑检查。我从未见过如此愚蠢的问题而且我确信我只是错过了一些愚蠢的事情。

的index.php

<?
require('lib/conf.php');

/* bunch of code here */

echo get_user('username',$_SESSION['uid']);

LIB / conf.php

<?
/* bunch of secret stuff here */

$dbcon = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);  
////////////
//
// Includes / Requirements
//
////////////
include('functions/user.functions.php');

功能/ user.functions.php

<?
function get_user($dvar,$uid){
    $psql = $dbcon->prepare("SELECT :dvar FROM ls_users WHERE uid=:uid");
    $dbcon->beginTransaction();
    $psql->execute(array(":dvar"=>$dvar,":uid"=>$uid));
    foreach($psql as $row){ return $row[$dvar]; }
}

然而,尝试做这么简单的事情,我继续得到:

Undefined variable: dbcon in <b>/home/lodestar/public_html/lib/functions/user.functions.php</b> on line <b>10</b>

Call to a member function prepare() on a non-object in <b>/home/lodestar/public_html/lib/functions/user.functions.php</b> on line <b>9

所以,既然我觉得我好像疯了,请你检查一下我的大脑然后告诉我我错过了什么?

备注

错误的行号不会反映示例代码

中的正确行号

1 个答案:

答案 0 :(得分:0)

调用全局变量来声明函数使用中的全局变量

function get_user($dvar,$uid){ global $dbcon; ..... }