2

DB テーブルから簡単な情報を取得して HTML ページに投稿しようとしています。それは非常に単純で簡単に思えます.DBとテーブルに接続することを意味するエラーは発生しません. すべてのデータが既にあります (手動で入力)。

クエリを作成するために列名を呼び出す方法にあると想定しています。

<?php
    require_once("settings.php");
        //Open Connection
    $conn = @mysqli_connect("$host","$user","$pswd")
        or die ('Failed To Connect to Server');
    @mysqli_select_db("$conn", "$dbnm")
        or die ('Database Not Available');
        //Set up SQL string and excecute
    $car_id = mysqli_escape_string($_GET['car_id']);
    $make = mysqli_escape_string($_GET['make']);
    $model = mysqli_escape_string($_GET['model']);
    $price = mysqli_escape_string($_GET['price']);

    $query = "SELECT car_id, make, model, price FROM cars";

    $results = mysqli_query($conn, $query);

        echo "<table width ='100%' border='1'>
        <tr>
        <th>car_id</th>
        <th>make</th>
        <th>model</th>
        <th>price</th>
        </tr>";

        //  $row = mysqli_fetch_row($query);
                while ($row = mysqli_fetch_array($results)) {
                echo "<tr>";
                echo "<td>" . $row['car_id'] . "</td>";
                echo "<td>" . $row['make'] . "</td>";
                echo "<td>" . $row['model'] . "</td>";
                echo "<td>" . $row['price'] . "</td>";
                echo "</tr>";
        //  $row = mysqli_fetch_row($query);
                        }
        echo "</table>";
    //Close Connection
mysqli_free_result($results);
mysqli_close($conn);
?>  

settings.php はすべての接続情報を保持し、すべてチェックアウトします。($_GET['car_id']) なども必要ですか? フィールド名で呼び出すことはできますか?

答えはとても明白でしょう...

4

2 に答える 2

0

以下の行を以下のように変更してください。

$conn = @mysqli_connect("$host","$user","$pswd")

$conn = mysqli_connect($host,$user,$pswd)

 @mysqli_select_db("$conn", "$dbnm")

 mysqli_select_db($conn, $dbnm)
于 2013-10-17T07:23:56.893 に答える
0

DBとテーブルに接続することを意味するエラーは発生しません

というわけではありません。

mysqli_select_db("$conn", "$dbnm")  // That `$conn` should not be inside those quotes.

する必要があります

mysqli_select_db($conn, $dbnm);  // that $conn has to be a MySQLi link identifier, not an interpolated one.

また、すべての @ を削除し、これらの関数が返すものについてエラー チェックを行います。

于 2013-10-17T07:19:36.510 に答える