2012-12-18 25 views
8

Jestem nowy w mysqli i mam problem z zapętlaniem się wyników z mysqli. Niestety, otrzymuję tylko jeden wynik. Kiedy umieszczę zapytanie w phpMyAdmin, otrzymam trzy wyniki. Uważam, że odpowiedni kod jest tutaj, a ja po prostu nazywając ją źle:Zapętlając wyniki w mysqli

$connection = new mysqli($host, $databaseUsername, $databasePassword, $database); 

if ($connection->connect_errno > 0) { 
    die ('Unable to connect to database [' . $connection->connect_error . ']'); 
} 

$sql = "SELECT clientId, studentFirstName, studentLastName 
     FROM clients 
     WHERE (studentEmail = '$postEmail') OR (parentEmail = '$postEmail');"; 

if (!$result = $connection->query($sql)) { 
    die ('There was an error running query[' . $connection->error . ']'); 
} 

echo '<select class = "toolbarDropdown" id = "toolbarDropdown-MultipleAccounts">'; 

    while ($row = $result->fetch_array()) { 
     echo '<option value="'.$row["clientId"].'>'.$row["studentFirstName"].' '.$row["studentLastName"].'</option>'; 
    } 

echo '</select>'; 
+0

Czy możesz dodać swoje aktualne zapytanie? – DACrosby

+0

Będziemy musieli zobaczyć zapytanie. – busypeoples

+0

@ DouglasA.Crosby Okay, dodałem zapytanie SQL. Później w kodzie I echo $ sql, a następnie skopiowałem i wkleiłem to do phpMyAdmin. W phpMyAdmin daje to trzy wyniki. – radleybobins

Odpowiedz

13

Brakuje zamykanie „przy opcji =” wartość < - w HTML

Zauważ, że

$row = $result->fetch_array() 

może być zastąpiony przez

$row = $result->fetch_assoc() 

Robi tak, tablicę dla każdego rekordu w zwrcania Mógłby wziąć połowę rozmiaru.

+1

To jest to, co miałem pierwotnie, zanim zmieniłem go na to, co jest napisane powyżej. Obie metody mają ten sam wynik i zwracają tylko jeden wiersz – radleybobins

+0

Tak, masz rację, domyślny styl pobierania to MYSQL_BOTH. Więc 'fetch_array()' również zadziała. Co mówi dziennik błędów? Czy możesz krótko włączyć display_errors? – hek2mgl

+0

Ahhh! Po prostu przeczytałem edycję na górze (brakowało ", całkowicie to zrobiłem, dziękuję bardzo, to doprowadzało mnie do szaleństwa godzinami – radleybobins