1

最近、PHP で Web サイトを作成し始めました。私のコードのほとんどは機能していますが、修正に問題があることがわかりました。

データベースへの呼び出しが多いページがあります。私のページの上部で、接続してSELECTを使用して、関連製品に関する情報を取得しています。

ページの下部で、関連する製品に関するコメントを再度取得しています。

私のコードは非常に長いので、ここに表示するのは難しいですが、このコードの基本は次のとおりです。

PHP CODE
  SELECT's
  UPDATE's

HTML
  TABLE's
  IMAGE's
  ect...

PHP
  SELECT's

私のコードは、最初にページをロードしたときにすべてのコードを正常に実行しますが、ボタンをクリックしてテーブルを更新すると (コードの上部セクション)、更新は処理されますが、ページの下部にあるコメント セクションが元に戻ります次のエラー:

"データベースが選択されていません。"

ページの上部とページの下部の両方の選択は、同じデータベースと同じテーブルへの接続です。また、更新ボタンをクリックする前に、エラーを戻すコメントセクションが正常に機能します。

私のコードがエラーが発生していると言っているコードは次のとおりです。

$commResult = mysql_query("SELECT u.id, u.USERNAME, c.COMMENT, c.DATE_ADDED, c.ACTIVE FROM USERS u, COMMENTS c WHERE c.box_id = $boxId ORDER BY c.DATE_ADDED DESC") or die (mysql_error());;

while ($row = mysql_fetch_array($commResult))
{
     //Do processing here.
}

データベースに接続するための私のコード。これは別のファイルにあり、require_once(config.php); を使用します。コードがデータベースに接続する必要があるすべてのページの上部でそれを呼び出します。

$username = "user";
$password = "password";
$hostname = "localhost"; 

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password) 
or die("Unable to connect to MySQL");

//select a database to work with
$selected = mysql_select_db("databasename",$dbhandle) 
or die("Could not select databasename");
4

2 に答える 2

3

スクリプトの先頭で MySQL 接続を開き、データベースを選択することを忘れずに閉じてから再度開いている可能性があると思います。

古い mysql_ 関数を使用している場合 (これは新しいコードに使用するべきではありません。MySQLi と PDO を参照してください) 次のコード行を忘れている可能性があります。

mysql_select_db("databaseName");

または、「生のクエリ」を使用している場合は、次の行が欠落している可能性があります。

mysql_query("USE databaseName");

同じスクリプトでは、データベース接続を閉じる価値はおそらくありませんが、スクリプト全体で開いたままにしておくことをお勧めします。

于 2013-02-04T10:09:08.080 に答える
1

電話しましたmysql_select_db("Your Database Name")mysql_query("Your Database Name", "Query")

はい、mysql を使用しないでください。代わりに mysqli を使用してください。

于 2013-02-04T10:10:45.497 に答える