gpt4 book ai didi

php - 如何从php函数返回mysql数据

转载 作者:行者123 更新时间:2023-11-29 01:24:33 25 4
gpt4 key购买 nike

我有一个 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com