2014-10-06 3 views
0

이것은 오래되었습니다.하지만 현재의 설정은 256 가지 이상의 데이터베이스에 분산되어있는 WordPress 멀티 사이트입니다 (성능상의 이유로). 사이트가 생성되면 스크립트는 무작위로 선택된 데이터베이스에 필요한 WP 테이블을 자동으로 채 웁니다. 과학은 완전히 나의 이해를 초월합니다.PHP로 데이터베이스 이름을 검색하려면 어떻게해야합니까?

어쨌든 내 사이트 중 하나의 테이블에서 데이터를 변경해야합니다. 테이블이있는 데이터베이스를 찾아야합니다. 오래 전, 나는 이것으로 성공했다. :

<?php 
    $query="select database() AS <code>db</code>"; 
    $result=mysql_query($query); 
    $row = mysql_fetch_assoc($result); 
     echo 'database: '.$row['db'].'<p>'; 
?> 

더 이상 사용하지 않는 것으로 보이며 더 이상 사용되지 않는 기능이있는 것처럼 보입니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사! 당신이 mysqli_를 사용하는 경우

+2

[mysql_ *'functions] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)를 사용하지 마십시오. * 더 이상 유지 관리되지 않으며 [공식적으로 권장되지 않습니다] (https://wiki.php.net/rfc/mysql_deprecation) *. 대신 [prepared statements] (http://en.wikipedia.org/wiki/Prepared_statement)에 대해 알아보고 [PDO] (http://us1.php.net/pdo) 또는 [MySQLi] (http : //)를 사용하십시오. us1.php.net/mysqli). [이 기사] (http://php.net/manual/en/mysqlinfo.api.choosing.php)를 사용하면 결정하는 데 도움이됩니다. –

+2

감사합니다. @JayBlanchard ... 나는 그 결론에 도달했고 그것을 이미 언급했습니다. "더 이상 기능이 없어 보이고 더 이상 사용되지 않는 기능이있는 것처럼 보입니다." –

답변

1

이 작업을 수행 할 수 있습니다 -이 연결에 대한 기본 데이터베이스의 이름을 반환

if ($result = $mysqli->query("SELECT DATABASE()")) { 
    $row = $result->fetch_row(); 
    printf("Default database is %s.\n", $row[0]); 
    $result->close(); 
} 

합니다.

관련 문제