[mysql] MySQL : 어떤 데이터베이스가 선택되었는지 확인 하시겠습니까?

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();

추신 : 나는 이것이 @cwallenpoole의 답변을 자유롭게 수정하고 싶지 않다는 것을 이것이 Oracle 질문이 아니라 MySQL 질문이라는 사실을 반영하기 위해 필요합니다 DUAL.


답변

항상 STATUS 명령을 사용하여 현재 데이터베이스 및 현재 사용자 를 알 수 있습니다

여기에 이미지 설명을 입력하십시오


답변

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_result(mysql_query("SELECT DATABASE();"),0)

데이터베이스를 선택하지 않았거나 연결이 없으면 NULL선택한 데이터베이스의 이름을 반환 합니다.


답변

약간 주제에 맞지 않지만 (PHP 대신 CLI 사용) 알아 둘 가치가 있습니다. 다음 중 하나를 사용하여 기본 데이터베이스를 표시하도록 프롬프트를 설정할 수 있습니다

mysql --prompt='\d> '
export MYSQL_PS1='\d> '

또는 한 번 안으로

prompt \d>\_
\R \d>\_


답변

SELECT DATABASE() PHPMyAdmin에서 일했습니다.