2015-10-19 2 views
1

Я использую следующий код для возврата значения из sql, но значение отображается 2 раза.php возвращающее значение из mysql 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); 
} 
+0

count rows first –

+1

Используйте одиночные обратные выходы 'для имени вашей таблицы и столбца. –

+0

Возможно, содержимое $ mail содержится в таблице дважды? Используйте 'SELECT DISTINCT'. – syck

ответ

2

Я думаю, что ответ немного сложнее этого. Итак, строка $row = mysqli_fetch_array($res); вернет массив, я думаю, если вы проверите, в нем будет 2 элемента. Глядя, как этот

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

Теперь вы

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

Так отзовется идентификатор дважды. $row = mysqli_fetch_array($res,MYSQLI_ASSOC); Чтобы получить то, что вы хотите,

+0

Спасибо. это сработало. –

+0

Yay, можете ли вы пометить мой ответ как правильный. –

0

Это потому, что запрос дает вам 2 результата (строки). Try:

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

И вы увидите, если есть более 1 строки в результатах.

+0

Фактически поле, которое я пытаюсь вернуть, устанавливается как уникальное. поэтому нет шансов на 2 результата. но все еще я не могу понять, почему я получаю эту проблему. –

+0

проверить отредактированный комментарий – fico7489

Смежные вопросы