web-dev-qa-db-ja.com

結果をループするとmysqliになります

私はmysqliを初めて使用し、mysqliで結果をループする際に問題が発生します。残念ながら、結果は1つしかありません。クエリをphpMyAdminに入れると、3つの結果が表示されます。私は関連するコードがここにあり、私はそれを間違って呼んでいると信じています:

$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>';
11
radleybobins

HTMLのoption = "value <-に終了"がありません

ご了承ください

$row = $result->fetch_array()

に置き換えることができます

$row = $result->fetch_assoc()

そうすると、フェッチする各レコードの配列のサイズが半分になります。

16
hek2mgl