gpt4 book ai didi

php - 合并php中多个if语句的结果

转载 作者:行者123 更新时间:2023-11-30 01:12:01 26 4
gpt4 key购买 nike

我有一个 php 文件,其中包含两个 mysql 查询和每个查询的 if 语句。我希望最终输出将两个结果结合起来并用逗号分隔。现在,第一个 if 语句有效,但第二个语句无效。

$result = mysql_query("SELECT round(AVG(cop),1) AS 'avg_cop' FROM table WHERE timestamp >= subdate((select max(timestamp) from table), interval 1 week)");
if ($result < 3.41)
{
$ret = "example text 1";
} else {
$ret = "na";
}

$result1 = mysql_query("SELECT round(AVG(temp),1) AS 'avg_temp' FROM table WHERE timestamp >= subdate((select max(timestamp) from table), interval 1 week)");
if ($result1 < 53)
{
$ret1 = "example text 2";
} else {
$ret1 = "na";
}


echo $ret.", ".$ret1;

在本例中,我知道第一个查询结果为“1.1”值,第二个查询结果为“69.4”值。但是,我得到的最终结果是“示例文本 1,示例文本 2”,而它应该是“示例文本 1,na”。关于我做错了什么有什么想法吗?

最佳答案

mysql_query 不返回行本身,it returns a resource您需要将其传递给类似 mysql_fetch_array() 的函数或mysql_fetch_assoc()处理表结果;你不能仅仅使用 mysql_query 的返回值。如果您只是将 SQL 查询合并为一个,可能会更好。

$result = mysql_query("SELECT round(AVG(cop),1) AS 'avg_cop', round(AVG(temp),1) AS 'avg_temp' FROM table WHERE timestamp >= subdate((select max(timestamp) from table), interval 1 week)");
$row = mysql_fetch_assoc($result);

if ($row['avg_cop'] < 3.41)
{
$ret = "example text 1";
} else {
$ret = "na";
}

if ($row['avg_temp'] < 53)
{
$ret1 = "example text 2";
} else {
$ret1 = "na";
}

echo $ret.", ".$ret1;

关于php - 合并php中多个if语句的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19389129/

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