我有一个 php 函数,我希望它能返回所有数据。现在的问题是它将返回被调用的第一行然后挂出,我不知道为什么。
function get_user_info($id,$field='')
{
//connect to database
include_once("../config.php");
$qry= "SELECT `$field` FROM `".$user_table."` WHERE `id` ='$id'";
//die($qry);
$result=mysql_query($qry);
if($result) {
if(mysql_num_rows($result)>0) {
//query successful
$data=mysql_fetch_row($result);
$user_info= $data[0];
}
else{
$user_info ="invalid field";
}
}
else{
$user_info="invalid data";
}
return $user_info;
}
如果我运行类似 echo (get_user_info($user_id,'username')."".get_user_info($user_id,'username'));
的函数,它会返回 用户名无效数据
对于我的一生,我无法弄清楚为什么它无法获取与 get_user_data
编辑:它似乎在$result=mysql_query($qry);
处快要死了,它返回不正确的表名称''
编辑2:看起来问题是我只包含一次配置文件并使用一个变量作为我的表名,当我尝试第二次调用它时该变量未设置。
编辑3: 这是最终的功能
//connect to database
if(file_exists('..config.php')){
include_once("../config.php");
}
function get_user_info($id,$field)
{
//get users table
global $user_table_name;
$qry= "SELECT `$field` FROM `$user_table` WHERE `id` ='$id'";
$result=mysql_query($qry) or die(mysql_error());
if($result) {
if(mysql_num_rows($result)>0) {
//query successful
$data=mysql_fetch_row($result);
$user_info= $data[0];
}
else{
$user_info =$qry;
}
}
else{
$user_info="invalid data";
}
return $user_info;
}
最佳答案
使用
function mysql_fetch_all($res) {
while($row=mysql_fetch_array($res)) {
$return[] = $row;
}
return $return;
}
和
$data = mysql_fetch_all($result);
关于php - 如何从php函数返回mysql数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5535538/