Php 警告:当只给出一个参数时,它必须是数组
我试图从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 以下是我正在使用的代码: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
$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)
并查看您从提取调用中得到的信息。刚刚找到答案。现在效果很好。好极了