2010-08-20 153 views
1

你可以这样做吗?我只是尝试,但它似乎没有工作。PHP:从另一个页面函数调用一个字符串?

我已经dbc.php包括在我的页面的顶部,并在底部dbc.php我创造了这个功能:

function getUserInfo($id) { 
$thaString = mysql_query("SELECT * FROM users WHERE id = '$id'"); 
$thaString2 = mysql_query("SELECT * FROM users_profile WHERE uID = '$id'"); 
$showUR = mysql_fetch_array($thaString); 
$showURP = mysql_fetch_array($thaString2); 
} 

所以它会更容易让我打电话给他们,而不是运行查询时,我需要他们在其它页所有的时间.. 但是,当我尝试做:

getUserInfo($showInfo["bID"]); 
echo $showUR["full_name"]; 

我没有得到任何结果,是有一个更聪明的办法做到这一点,如果是的话怎么样?

回答

2

它的范围的问题:$showUR设置里面getUserInfo(),所以它不是提供给echo功能之外。有很多,你可以让潜在的修改,但你可能希望你的价值分配到一个数组,然后返回该数组:

function getUserInfo($id) { 
    $user = array(); 

    $thaString = mysql_query("SELECT * FROM users WHERE id = '$id'"); 
    $thaString2 = mysql_query("SELECT * FROM users_profile WHERE uID = '$id'"); 
    $user['showUR'] = mysql_fetch_array($thaString); 
    $user['showURP'] = mysql_fetch_array($thaString2); 

    return $user; 
} 

$user = getUserInfo($showInfo["bID"]); 
echo $user['showUR']["full_name"]; 
1

你的函数必须返回一些值来使用,或者$showUR$showURP只会在函数退出时丢失(即:范围会改变)。例如:

function someFunc($arg) { 
    return "Hello, I am {$arg}"; 
} 

$showUR = someFunc('name'); 
echo $showUR; 

而且请不要拨打东西$thaString。首先是因为这是一个用词不当(mysql_query()不返回一个字符串,它返回一个资源或布尔值),其次是因为“tha”是所以跛脚。

+0

+1表示跛脚“tha”是多少。 – 2010-08-20 23:36:14

0

让你的函数返回变量。

然后用$ showUR = getUserInfo(...)

0

如果你声明它们的功能外,然后作为函数里面全局你应该能够像现在一样使用它们。

相关问题