2013-09-19 3 views
0
|touser| fromuser | msg | 
| A | B  | hi | 
| A | B  | hello | 
| C | D  | bye | 
| C | E  | hey | 

, когда я использую следующий запрос в MySQL Workbench он показывает желаемый результат, все строки с заданным именем:, как выборки несколько строк с одинаковым значением поля из базы данных MySQL с помощью PHP

select * from db.table1 where touser in ('A'); 

выход:

|touser| fromuser | msg | 
| A | B  | hi | 
| A | B  | hello | 

но когда я передать запрос из команды PHP результирующий массив содержит только первую запись

<?php 
//connection establishing commands 
$sql="select * from db.table1 where touser in ('A')"; 

$result=mysqli_query($link, $sql); 

$data=mysqli_fetch_array($result,MYSQLI_NUM); 

print_r($data); 

//other stuff; 
?> 

выход:

Array ([0] => A [1] => B [2] => Hi) 

я что-то отсутствует в командах PHP?

+0

dont использовать функции mysqli сейчас ... это не рекомендуется в настоящее время ... – Shwet

+0

@shwetdalal вы говорите, что используете PDO? – UDB

ответ

2

Вы - PHP, просто возвращающий первую строку набора результатов MySQL.

Вы хотите заменить $data=mysqli_fetch_array($result,MYSQLI_NUM);

с

while ($data = mysqli_fetch_array($result, MYSQLI_NUM)) { 
    print_r($data); 
} 

Какой будет итерацию по каждой строке результирующего набора. Другими словами, функция mysqli_fetch_array не извлекает весь результирующий набор как массив, он просто возвращает одну строку, а затем перемещает указатель строки в следующую строку.

+0

спасибо, за ответы и напомнить мне об основах – UDB

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