DISTINCT 查询未返回值 1
DISTINCT query not returning value 1
我有此查询返回来自 table 的行,但它 returns 除了 1 以外的所有值。
输出例如:2、3、5、20、22 等,但 id 输出 1 永远不会存在,但我希望它存在。
我不明白为什么?
$query = "SELECT DISTINCT(driver_profileId) FROM driver_profiles";
$result = mysqli_query($conn, $query)or die(mysqli_error($conn));
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
if ($row) {
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo $row['driver_profileId'] . '<br />';
}
}
else {
echo "noRow";
}
看看这是否有效:
$query = "SELECT DISTINCT(driver_profileId) FROM driver_profiles";
$result = mysqli_query($conn, $query)or die(mysqli_error($conn));
if ($result ) {
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo $row['driver_profileId'] . '<br />';
}
}
else {
echo "noRow";
}
您使用了$row = mysqli_fetch_array($result, MYSQLI_ASSOC)
两次。
我认为第一次调用 mysqli_fetch_array
将记录指针移动到第一个记录。然后你再次调用 while 条件 mysqli_fetch_array
。所以你总是从第二条记录开始,跳过第一条。
我有此查询返回来自 table 的行,但它 returns 除了 1 以外的所有值。
输出例如:2、3、5、20、22 等,但 id 输出 1 永远不会存在,但我希望它存在。
我不明白为什么?
$query = "SELECT DISTINCT(driver_profileId) FROM driver_profiles";
$result = mysqli_query($conn, $query)or die(mysqli_error($conn));
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
if ($row) {
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo $row['driver_profileId'] . '<br />';
}
}
else {
echo "noRow";
}
看看这是否有效:
$query = "SELECT DISTINCT(driver_profileId) FROM driver_profiles";
$result = mysqli_query($conn, $query)or die(mysqli_error($conn));
if ($result ) {
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
echo $row['driver_profileId'] . '<br />';
}
}
else {
echo "noRow";
}
您使用了$row = mysqli_fetch_array($result, MYSQLI_ASSOC)
两次。
我认为第一次调用 mysqli_fetch_array
将记录指针移动到第一个记录。然后你再次调用 while 条件 mysqli_fetch_array
。所以你总是从第二条记录开始,跳过第一条。