2013-08-26 2 views
0

Я использовал этот код много раз в прошлом, и он возвратил много строк данных раньше ... теперь он только возвращает один.mysqli_fetch_assoc только возвращает один результат

$sql = "SELECT * FROM jobs"; 
$query = mysqli_query($db_conx, $sql); 
while($row = mysqli_fetch_assoc($query)){ 
    echo $row['action'];  
} 

Любые идеи? Заранее спасибо.

+2

Вы инициализацией один набор переменных. Каждый раз, когда цикл работает, предыдущие значения переписываются. – andrewsi

+0

Поместите 'echo' в' while'-loop. –

+0

Я пробовал это в обоих местах (внутри цикла while и снаружи), тот же результат. И да, кажется, они перезаписываются, но я старательно повторяю эхо эхо чисто просто echo $ row ["action"]; и он все еще только вернул один результат ... как можно это переписать? –

ответ

2

Вы пробовали это?

$sql = "SELECT * FROM jobs"; 
$query = mysqli_query($db_conx, $sql); 
while($row = mysqli_fetch_assoc($query)){ 
    print_r($row); 
} 

Он покажет все ваши $row содержание, я уверен, что это поможет.

Вы можете увидеть больше о print_r() функции in the php documentation

+0

Я добавил echo $ row ['action']; внутри этого, и он работает. Я думаю, я понял, почему ваш код работал, а мой - нет. Спасибо! –

1

Это работает, если вы так делаете?

$sql = "SELECT * FROM jobs"; 
$query = mysqli_query($db_conx, $sql); 
$rows = mysqli_fetch_assoc($query); 

foreach ($row in $rows) { 
    echo $row['action']; 
} 

Кроме того, вы можете повысить производительность вашего запроса путем делать SELECT action FROM jobs (как это единственное поле вы используете).

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