PHP从mysql返回值2次


php returning value from mysql 2 times

我使用下面的代码从sql返回值,但值显示2次。

$cc=mysqli_connect($server,$user,$pass);
mysqli_select_db($cc,$database);
$sql = "SELECT b_id FROM ``ub_per`` WHERE ``b_email`` = '$mail'";
$res = mysqli_query($cc,$sql);
$row = mysqli_fetch_array($res);
foreach($row as $value){
  echo($value);
}

我认为答案要比这复杂一点。所以行$row = mysqli_fetch_array($res);会返回一个数组,我想如果你检查一下,里面会有2个元素。看起来像这样

$row[0] = id;
$row['b_id'] = id;

现在你做

foreach($row as $value){
  echo($value);
}

So将返回id两次。使用$row = mysqli_fetch_array($res,MYSQLI_ASSOC);让你得到你想要的

这是因为查询给你2个结果(行)。试一试:

echo '<pre>';
print_r($row);

你会看到结果中是否有超过1行