gpt4 book ai didi

php - 使用 php 选择不同的结果给出了错误的结果

转载 作者:行者123 更新时间:2023-11-29 06:28:34 25 4
gpt4 key购买 nike

mysql

select distinct(cat) from code order by cat asc;

结果 - 选择 1 行
确实如此 - 因为整个cat列具有相同的值。

php

$st = $db->query("select distinct(cat) from code order by cat asc");
$st->execute();
$arr = $st->fetch();
echo count($arr); // 2

为什么我使用 php 选择了两行?

最佳答案

$st->fetch() 仅返回一行,而不是所有行。 count($arr) 是该数组中的元素数量。默认获取模式为 PDO::FETCH_BOTH,因此该数组包含您选择的每一列的两个元素。

["cat" => "Category Name", 0 => "Category Name"]

要获取所有行,请使用$st->fetchAll():

$rows = $st->fetchAll();
echo count($rows);

顺便说一句,DISTINCT 不是一个函数,它不仅仅适用于单个列,因此您不应在其后面添加括号。它是一个适用于整个 SELECT 列表的关键字。当您只选择一列时没有什么区别,但编写诸如 SELECT DISTINCT(col1), col2 ... 这样的内容会产生误导。

关于php - 使用 php 选择不同的结果给出了错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58038968/

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