2016-04-08 3 views
1

Я пытаюсь отобразить результат запроса select, но я получаю только дубликат первой строки не всех строк. вот мой код:Запрос Sql возвращает только первую строку

$query = "SELECT Email from client"; 
$result = $db->query($query)->fetch(); 
foreach($result as $email){ 
    echo $email["Email"]."\n"; 
} 

Connexion to database works fine.

+0

Вы можете получить только одну строку, потому что вы только называть 'выборки()' один раз. –

+0

* «Connexion to database works fine». * - Что это такое, MySQLi_ или PDO? Оба имеют 'fetch()'. http://php.net/manual/en/mysqli-stmt.fetch.php и http://php.net/manual/en/pdostatement.fetch.php –

+0

PDO, но это было fetchALL, которое мне нужно было использовать. Спасибо. – mockingbid

ответ

7

Вы должны использовать в качестве fetchALL()fetch() только returns one row согласно документации:

Выдает строку из результирующего набора, ассоциированного с объектом PDOStatement.

$query = "SELECT Email from client"; 
$result = $db->query($query)->fetchALL(); 
foreach($result as $email){ 
    echo $email["Email"]."\n"; 
} 
0

fetch() функция выбирает только одну запись.

Измените код следующим образом:

$query = "SELECT Email from client"; 
$res = $db->query($query); 
while($result = $res->fetch()){ 
    echo $result["Email"]."\n"; 
} 
Смежные вопросы