Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 警告:当只给出一个参数时,它必须是数组_Php_Mysql - Fatal编程技术网

Php 警告:当只给出一个参数时,它必须是数组

Php 警告:当只给出一个参数时,它必须是数组,php,mysql,Php,Mysql,我试图从MySQL表中选择容量的最小值和最大值,但每当我尝试时,都会出现以下错误: 警告:min():当只给出一个参数时,它必须是数组 第38行调用堆栈上的/campus/campus.php中:0.0003 352296 1。{main}() /campus/campus.php:0.0124 1654304 2。min()/campus/campus.php:38 警告:max():仅给定一个参数时,它必须是数组 第39行调用堆栈上的/campus/campus.php中:0.0003 35

我试图从MySQL表中选择容量的最小值和最大值,但每当我尝试时,都会出现以下错误:

警告:min():当只给出一个参数时,它必须是数组 第38行调用堆栈上的/campus/campus.php中:0.0003 352296 1。{main}() /campus/campus.php:0.0124 1654304 2。min()/campus/campus.php:38 警告:max():仅给定一个参数时,它必须是数组 第39行调用堆栈上的/campus/campus.php中:0.0003 352296 1。{main}() /campus/campus.php:0.0125 1654360 2。max()/campus/campus.php:39

以下是我正在使用的代码:

$sql= "SELECT MIN(capacity), MAX(capacity) FROM room";

$res =& $db->query($sql);
if (PEAR::isError($res)) {
    die($res->getMessage());
}

while($row = $res->fetchRow())
    {
        $minCapacity = $row[MIN(capacity)];
        $maxCapacity = $row[MAX(capacity)];
    }

echo $minCapacity;
echo $maxCapacity;
在while循环中,MIN(容量)和MAX(容量)应该用引号引起来


您试图调用php函数max和min(如果只给出一个参数,则需要一个数组),而不是引用sql查询的结果。

min和max被解析器解释为php函数。尝试将它们括在引号中,以将它们表示为$row中地图的键(假设它们在查询结果中表示为键)。

也许可以尝试为最小值和最大值指定一个别名,如下所示:

$sql= "SELECT MIN(capacity) AS myMIN, MAX(capacity) AS myMAX FROM room";
然后在代码中执行以下操作:

while($row = $res->fetchRow())
    {
        $minCapacity = $row['myMIN'];
        $maxCapacity = $row['myMAX'];
    }

想一想。

为查询创建别名:选择min(容量)作为minVal。这样就可以从数组中提取值

    $minCapacity = $row['MIN(capacity)'];
                        ^--           ^--

缺少指示的引号
min()
是一个有效的PHP函数,因此您试图使用PHP的min函数的结果作为$row中的数组索引。

$minCapacity和$maxCapacity似乎都是0。表中没有返回任何内容,变量$minCapacity和$maxCapacity都是0。然后执行
var\u dump($row)
并查看您从提取调用中得到的信息。刚刚找到答案。现在效果很好。好极了