2013-03-02 2 views
0

SCHEMA이 MySQL 데이터베이스에 있는지 묻는 적절한 방법은 무엇입니까?PDO MySQL 데이터베이스가 있는지 확인하십시오.

나는 PDO로 프로그래밍하고 기본적으로 내 스크립트는 다음과 같이해야한다 :

if (databaseExists($db)) { 
    // Do something 
} 

그리고 기능을 위해 :

function databaseExists($db) { 
    SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = $db; 
    if so - return true; 
    else - return false; 
} 

내 질문이 실제로는 SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = $db 문을 구현하는 방법. 데이터베이스가 정의되지 않은 $conn을 사용해야합니까? 그리고 어떻게 결과를 돌려 줄까요? 데이터를 가져와야합니까, 아니면 그냥 계산할 수 있습니까?

+1

PHP 세션과 어떤 관련이 있습니까? –

+2

INFORMATION_SCHEMA를 dbname으로 사용하여 연결을 설정할 수 있습니다. –

+0

@MartinBean 실제로 왜 제목이 있었는지 모르겠다. 아마도 내가 쓰고 있던 이전 질문의 stackoverflow 쿠키 일 것이다. – Dimser

답변

2

정보 스키마에 직접 연결을 만들고 쿼리를 실행하십시오.

$pdo = new PDO(
       'mysql:host=hostname;dbname=INFORMATION_SCHEMA', 
       'username', 
       'password' 
); 

거기부터 빌드가 완료되면 기능이 작동해야합니다.

관련 문제