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
.
답변
답변
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에서 일했습니다.