0

他にもたくさんの問題があると確信していますが、 $result 変数が認識されていません

を得る

致命的なエラー: 非オブジェクトでのメンバー関数 fetch_assoc() の呼び出し

理由はわかりません。どんな助けでも大歓迎です。コードは次のとおりです。

<html>
    <body>

        <?PHP

$db = new mysqli('localhost', 'root', '', 'edumacation');

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

$result = <<<SQL
    SELECT *
    FROM `student`
    WHERE `id` = 1
SQL;


while($row = 
        $result->fetch_assoc()){
    echo "<table border='1'><tr><th>Name</th><th>Grade</th><th>Favorite Teacher</th><th>Date Enrolled</th></tr>";
    echo "<tr><td>" . $row['first_name'] . "</td><td>" . $row['grade'] . "</td><td>" . $row['fav_teacher'] . "</td></tr>" . $row['enrolled'] . "<br />";
    echo "</table>";
}

?>
   </body> 
</html>
4

2 に答える 2

2

実際にクエリを実行しているわけではなく、SQL を希望する文字列に設定しているだけです。このような方がうまくいくでしょう。

$sql = <<<SQL
  SELECT *
  FROM `student`
  WHERE `id` = 1
SQL;

if ($result = $db->query($sql)) {
于 2013-01-24T21:15:05.167 に答える
0

セットアップした接続を使用して、DB に対して実際にクエリを実行しているわけではありません。 $resultあなたの例では、あなたは単なる HEREDOC 文字列です。

次のようなことをする必要があります:

$result = $db->query("SELECT * FROM `student` WHERE `id` = 1; ");

fetch_assoc()次に、$result オブジェクトでメソッドを呼び出すことができます。

于 2013-01-24T21:14:33.640 に答える