Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.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 非重复查询不返回值1_Php_Distinct - Fatal编程技术网

Php 非重复查询不返回值1

Php 非重复查询不返回值1,php,distinct,Php,Distinct,这个查询返回表中的行,但它返回除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_A

这个查询返回表中的行,但它返回除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=“从驱动程序配置文件中选择不同的(驱动程序配置文件ID)”;
$result=mysqli_query($conn,$query)或die(mysqli_error($conn));
$row=mysqli\u fetch\u数组($result,mysqli\u ASSOC);
如果($行){
而($row=mysqli\u fetch\u数组($result,mysqli\u ASSOC)){
echo$row['driver_profileId'].
; } } 否则{ 回声“诺罗”; }
看看这是否有效:

$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"; 
}
$query=“从驱动程序配置文件中选择不同的(驱动程序配置文件ID)”;
$result=mysqli_query($conn,$query)或die(mysqli_error($conn));
如果($结果){
而($row=mysqli\u fetch\u数组($result,mysqli\u ASSOC)){
echo$row['driver_profileId'].
; } } 否则{ 回声“诺罗”; }

您使用了两次
$row=mysqli\u fetch\u数组($result,mysqli\u ASSOC)

我认为对
mysqli\u fetch\u数组的第一次调用将记录指针移动到第一条记录。然后您再次调用while条件
mysqli\u fetch\u array
。因此,您总是从第二条记录开始,跳过第一条记录。

我认为这是因为您使用了两次
$row=mysqli\u fetch\u数组($result,mysqli\u ASSOC)
。你不需要那样做。如果我敢说,你实际上不需要那样做。一旦你把它取了一次,它就被取了。如果您再次获取,您将覆盖完成此操作的第一个!我知道有些事情不太对劲,但我想不出来!谢谢,当然可以。没问题。如果这对你有帮助,请接受答案。