0

現在選択されているデータベースの文字列名を取得する際に問題が発生しています。これは私がやったことです..データベースの名前をエコーし​​ようとしていますが、「警告: mysql_fetch_array() はパラメーター 1 がリソースであることを期待しています」というエラーが発生します

<?php
$dbcon = mysql_connect("localhost", "root", "")
        or die(mysql_error()."Not Connected");

$sql = mysql_query("select database()");
$row = mysql_fetch_array($sql);
echo "db ".$row[0];

?>

使用するため、選択したデータベース名を取得する必要があります

mysql_select_db()
4

4 に答える 4

4

ログイン認証情報を使用して接続した直後にデータベースを選択する必要があります。または、rootユーザーがアクセスできるデータベースを確認する場合は、次を使用します。

SHOW DATABASES;
于 2013-03-30T13:35:56.397 に答える
3

select Database()選択したデータベースの名前を表示します。を使用してデータベースを選択した後にのみ機能しますmysql_select_db()

利用可能なデータベースの名前を取得したい場合は、次を使用しますSHOW DATABASES

于 2013-03-30T13:36:35.983 に答える
2

MySQL に接続した後、自分でデータベースを選択する必要があります。次のように、デフォルトでは選択されていません。

$dbcon = mysql_connect("localhost", "root", "")
    or die(mysql_error()."Not Connected");

mysql_select_db("databasename");  # add this line

$sql = mysql_query("select database()");
$row = mysql_fetch_array($sql);
echo "db ".$row[0];  

mysql_* 関数は非推奨であるため使用せず、代わりに mysqli_* を使用してください。

于 2013-03-30T13:34:19.463 に答える
1

まず、mysql の代わりに mysqli 関数を使用することをお勧めします。

次に、パラメーターのデータベース名を mysql_select_db() に追加して、データベースを選択するだけです。

  mysql_select_db('dbname');

mysqli のもう 1 つの利点は、接続文字列でデータベースを指定できることです。

于 2013-03-30T13:36:00.547 に答える