Php 非重复查询不返回值1
这个查询返回表中的行,但它返回除1以外的所有值 例如,输出为:2、3、5、20、22等,但id输出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
$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)
。你不需要那样做。如果我敢说,你实际上不需要那样做。一旦你把它取了一次,它就被取了。如果您再次获取,您将覆盖完成此操作的第一个!我知道有些事情不太对劲,但我想不出来!谢谢,当然可以。没问题。如果这对你有帮助,请接受答案。