0

この問題を解決しようとしています。しかし、それはできませんでした。助けてください

データベース内のすべてのレコードを表示しようとしていますが、「致命的なエラー: オブジェクト以外のメンバー関数 query() への呼び出し ....」とそのポイントを取得しています

if ($result = $mysqli->query("SELECT ProductName, Description, Price, Size FROM Products ORDER BY ProductID"))

これが私の完全なコードです

<?php

                        include('db_connect.php');

**$mysqli = new mysqli("localhost", "netelmbn", "password", "netelmbn");
                       if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}**


                        if ($result = $mysqli->query("SELECT ProductName, Description, Price, Size FROM Products ORDER BY ProductID"))
                        {

                                if ($result->num_rows > 0)
                                {

                                        echo "<table border='1' cellpadding='10'>";


                                        echo "<tr><th>ProductID</th><th>ProductName</th><th>Description</th><th>Price</th><th>Size</th></tr>";

                                        while ($row = $result_fetch_object())
                                        {

                                              echo "<tr>";
                                                echo "<td>" . $row->ProductID . "</td>";
                                                echo "<td>" . $row->ProductName . "</td>";
                                                echo "<td>" . $row->Description . "</td>";
                                                echo "<td>" . $row->Price . "</td>";
                                                echo "<td>" . $row->Size . "</td>";
                                                echo "<td><a href='records.php?ProductID=" . $row->ProductID . "'>Edit</a></td>";
                                                echo "<td><a href='delete.php?ProductID=" . $row->ProductID . "'>Delete</a></td>";
                                                echo "</tr>";
                                        }
                                        echo "</table>";
                                }
                                else
                                {
                                        echo "No results to display!";
                                }
                        }
                        else
                        {
                                echo "Error: " . $mysqli->error;
                        }


                        $mysqli->close();

                ?>
4

2 に答える 2

1

データベースクラスが必要です。コードを確認してください。

$mysqli = new Database();
$mysqli->connect();

クエリを実行する前に:

$result = $mysqli->query("SELECT ProductName, Description, Price, Size FROM Products ORDER BY ProductID");

ご覧のとおり、最初にクエリが実行され、次に接続リソースが実行されます。>> では、まず接続してください。

于 2012-05-14T07:25:27.753 に答える
1

最初に $mysqli オブジェクトをインスタンス化する必要があります。また、データベースをどこにも開いていません。

少なくとも、次のようなものが必要です。

$mysqli = new ClassName( /*some parameters here*/ );

$mysqli->database_open( /* some parameters here */); // or something like this, look at the clas definition
于 2012-05-14T07:03:28.393 に答える