PHP:从另一个页面函数调用一个字符串?

时间:2010-08-20 22:52:38

标签: 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"];

我没有得到任何结果,是否有更聪明的方法来做到这一点,如果是这样的话?

4 个答案:

答案 0 :(得分: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 :(得分:1)

您的函数必须为要使用的值返回一些内容,或者$showUR$showURP一旦函数退出就会丢失(即:范围将更改)。类似的东西:

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

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

请不要打电话$thaString。首先是因为它是用词不当(mysql_query()不返回字符串,它返回资源或布尔值),第二,因为“tha”是所以跛脚。

答案 2 :(得分:0)

让你的函数返回变量。

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

答案 3 :(得分:0)

如果你在函数之外声明它们,然后在函数内部声明为globals,你应该可以像现在一样使用它们。