gpt4 book ai didi

php - 函数不返回值

转载 作者:行者123 更新时间:2023-11-29 22:02:44 25 4
gpt4 key购买 nike

我刚才问了一个问题,但现在我已将其格式化为一个不返回任何值的函数。

这是我的代码:

echo GetHours($UID, $DAY, $MONTH, $YEAR);

function GetHours($UserId, $Day, $Month, $Year){
//filter queries:


//YEAR:
if($Year==FALSE){
$Y = "";
} else {
$Y = " AND Year = '$Year'";
}

//MONTH:
if($Month==FALSE){
$M = "";
} else {
$M = " AND Month = '$Month'";
}

//DAY:
if($Day==FALSE){
$D = "";
} else {
$D = " AND Day = '$Day'";
}

$Query = mysql_query("SELECT SUM(TotalHrs)
FROM WorkLog
WHERE UserId = '$UserId'$D$M$Y");

$Data = mysql_fetch_array($Query);

return $Data;

}

现在,我确实知道 mysql_ 函数已被折旧,但目前此应用程序需要它。

我目前的问题是,使用GET参数测试后,该函数没有返回任何内容。

有什么解决办法吗?

编辑

我已将最后几行更改为:return json_encode($Data);,现在屏幕显示:{"0":"8","SUM(TotalHrs)": “8”}

最佳答案

始终检查mysql_query()没有返回错误!特别是如果您根据可能存在或不存在的输入生成的部分构建查询。

这至少应该识别 SQL 中的任何错误。

function GetHours($UserId, $Day, $Month, $Year){
//filter queries:


//YEAR:
if($Year==FALSE){
$Y = "";
} else {
$Y = " AND Year = '$Year'";
}

//MONTH:
if($Month==FALSE){
$M = "";
} else {
$M = " AND Month = '$Month'";
}

//DAY:
if($Day==FALSE){
$D = "";
} else {
$D = " AND Day = '$Day'";
}

$Query = mysql_query("SELECT SUM(TotalHrs)
FROM WorkLog
WHERE UserId = '$UserId'$D$M$Y");

if ( ! $Query ) {
// just debug code, should be amended for a live site situation
echo mysql_error();
return 'Its broken';
}

$Data = mysql_fetch_array($Query);

return $Data;

}

关于php - 函数不返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32465025/

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