我的页面顶部包含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"];
我没有得到任何结果,是否有更聪明的方法来做到这一点,如果是这样的话?
答案 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,你应该可以像现在一样使用它们。