0

MySQL データベースからデータを取得する際に問題が発生しました。行をフェッチし、結果を print_r で出力すると正しいように見えますが、配列内の 1 つの項目を取得するときは常に空であり、その理由がわかりません!

phpMyAdmin を使用すると、データベース内のすべての行を確認でき、正しく表示されます。

誰でもアイデアを得ましたか?

<?php

    $con = mysqli_connect($host, $user, $password) or die("Failed to connect to MySQL: " . mysqli_connect_error());;
    mysqli_select_db($con, $database) or die("Cannot select DB");

    $r = mysqli_query($con, "SELECT Question FROM TempQuestions") or die('Query failed: ' . mysql_error());

    Print "Rows ". mysqli_num_rows($r) . "<br>"; // Returns 10 rows

    while ($dbResult = mysqli_fetch_array( $r)) {
        print_r($dbResult); // Prints the question like Array ([0] => The question in DB, [Question] => The question in DB)
        Print "<br><br>";
        Print "Question: ";
        Print $dbresult['Question']; // Is always empty!
        Print $dbresult[0]; // Is always empty!
        Print "<br><br>";
    }

    mysqli_free_result($r);
    mysqli_close($con);

?>
4

1 に答える 1

3
... or die('Query failed: ' . mysql_error());

と混同することはできませんmysql_*mysqli_*

そして、これは現在機能しているはずです。変数名は大文字と小文字が区別されます。

while ($dbresult = mysqli_fetch_array($r)) {
    print_r($dbresult);
    Print "<br><br>";
    Print "Question: ";
    Print $dbresult['Question'];
    Print $dbresult[0];
    Print "<br><br>";
}
于 2013-11-07T15:03:24.657 に答える