0

これが私が実行している次のコードです。database.phpには、fetch_array()という関数が含まれています。fetch_array()は、その関数内にmysql_fetch_array()を含み、mysql_fetch_array()の結果を返します。Database.phpには、他の関数を含むデータベースクラスが含まれていますが、このコードが機能しない理由はありますか?テーブルusersの各レコードのIDとユーザー名を取得したいと思います。

 <?php
  require_once("database.php");
 ?>
 <html>
 <head>
 </head>
 <body>
 <?php

    global $database;
    echo "hello";
    $result = $database->query("SELECT * FROM users");

    while($row = fetch_array($result))
    {
       echo "ID: $row[id] Name: $row[username] <br />";
    }

 ?>
 </body>
 </html>
4

2 に答える 2

2

idではなく、のみを取得していusernameます。usernameしたがって、フェッチ時に出力が得られません。

交換:

$result = $database->query("SELECT id FROM users;");

と:

$result = $database->query("SELECT id, username FROM users;");
于 2012-07-19T18:00:11.373 に答える
1

SELECT クエリが間違っています。現在、選択している各行の「id」列のみを返しています。$row[username] を echo しようとすると、配列キーが存在しないという警告が表示される可能性が高くなります。

この問題を修正するには、次の行を変更します。

$result = $database->query("SELECT id FROM users;");

$result = $database->query("SELECT id, username FROM users;");

または、各行ですべての列を取得する場合:

$result = $database->query("SELECT * FROM users;");

詳細については、MySQL ドキュメントのSELECTリファレンスを参照してください。

于 2012-07-19T18:22:19.567 に答える