mysql_select_db
データベースを取得するために呼び出した後、現在選択されているデータベースの名前を後で出力する方法はありますか?これは非常に基本的なようですが、php.netやstackoverflowで何も見つかりませんでした(すべての結果は「データベースが選択されていません」の場合です)。
mysql_select_db
データベースを取得するために呼び出した後、現在選択されているデータベースの名前を後で出力する方法はありますか?これは非常に基本的なようですが、php.netやstackoverflowで何も見つかりませんでした(すべての結果は「データベースが選択されていません」の場合です)。
回答:
mysql_query(またはmysqli_query、さらに優れたPDOを使用する)を次のように使用するだけです。
SELECT DATABASE() FROM DUAL;
これFROM DUAL
に含まれるべきか否かについては多くの議論があります。技術レベルでは、これはOracleからの引き継ぎであり、安全に削除できます。傾向がある場合は、代わりに以下を使用できます。
SELECT DATABASE();
とはいえ、FROM DUAL
実際には何もしないものの、有効なMySQL構文であることに注意してください。厳密な観点から見ると、JavaScriptで条件付きの単一行に中括弧を含めても何も起こりませんが、それでも有効な方法です。
SELECT DATABASE();
、「実際の」回答として追加する必要があります。
SELECT DATABASE();
ps @cwallenpooleの回答を自由に変更して、これがMySQLの質問であり、Oracleの質問ではなく、必要ないという事実を反映したくありませんでしたDUAL
。
http://www.php.net/manual/de/function.mysql-db-name.phpのコメントで、ericpp%bigfoot.comからこれを見つけました:
現在のデータベース名だけが必要な場合は、MySQLのSELECT DATABASE()コマンドを使用できます。
<?php
function mysql_current_db() {
$r = mysql_query("SELECT DATABASE()") or die(mysql_error());
return mysql_result($r,0);
}
?>
mysql_current_db
、何かのようなメソッドがある場合に備えて、PHP固有の回答を求めていました。誰かがそれを編集して、タイトルとタグから「php」を削除しました
@mysql_result(mysql_query("SELECT DATABASE();"),0)
データベースが選択されていない場合、または接続されていNULL
ない場合は、選択されたデータベースの名前が返されます。
SELECT DATABASE()
PHPMyAdminで働いた。