0

だから私はこれを落としたと思っていたので、私が再び失敗したことを知らせてくれました。

<?php
        $username="root";
        $password="**********";
        $database="website";
        $server="localhost";
        $connect=mysql_connect($server,$username,$password);
        ;
        @mysql_select_db($database) or die( "Unable to select database");
        mysql_select_db($database, $connect) or die ("Error selecting specified database on this server: ".mysql_error());
        $cdquery="SELECT content FROM homepage";
        $cdresult=mysql_query($cdquery) or die ("Query to get data from the first table failed: ".mysql_error());
        echo "<p>$cdresult</p>";

        mysql_close();
        ?>

現在、テーブル Web サイトと列データから情報を表示するコードを持っています。Resource id #4 が何であるかはわかりませんが、コンテンツではなくそれ自体が表示されています。コンテンツにある情報が表示されないように、私が間違っていることを知っている人はいますか?

4

1 に答える 1

2

経由mysql_fetch_assoc()で結果リソースから結果を取得する必要があります。クエリが成功すると、データベース接続が結果をスプールするために使用される結果リソースが返されます。行がフェッチされるまで、それ自体には行データは含まれません。

$cdresult = mysql_query($cdquery) or die ("Query to get data from the first table failed: ".mysql_error());
while ($row = mysql_fetch_array($cdresult)) {
  // The column is an array key in $row
  // Wrapped in htmlspecialchars() to escape for HTML output
  echo "<p>" . htmlspecialchars($row['cdresult']) . "</p>";
}

古いmysql_*()関数は非推奨プロセスを開始しており、最終的には PHP から削除されます。関数の学習に時間をかけすぎるのではなく、準備されたステートメントをサポートする最新の API の 1 つ (MySQLi や PDO など) の学習に時間を費やすことをお勧めしますmysql_*()

さらにいくつかのヒント:

への呼び出しが 2 つありますmysql_select_db()。そのうちの 1 つだけが必要です。@コードの開発中に表示する必要があるエラー情報が隠されるため、エラー抑制演算子の使用は避けてください。

// Don't do this. Just do the next one
// @mysql_select_db($database) or die( "Unable to select database");
mysql_select_db($database, $connect) or die ("Error selecting specified database on this server: ".mysql_error());
于 2012-07-15T01:53:01.047 に答える