2013-03-30 3 views
0

현재 선택된 데이터베이스의 문자열 이름을 가져 오는 데 문제가 있습니다. 이 내가 데이터베이스의 이름을 에코하려고 ... 내가 무슨 짓을하지만 오류가 발생? "경고 :로 MYSQL_ASSOC() 매개 변수 (1) 자원이 될 것으로 기대"PHP - 현재 사용중인 데이터베이스 선택

<?php 
$dbcon = mysql_connect("localhost", "root", "") 
     or die(mysql_error()."Not Connected"); 

$sql = mysql_query("select database()"); 
$row = mysql_fetch_array($sql); 
echo "db ".$row[0]; 

>

를 내가 난 당신이 자신의 MySQL에 연결 한 후 데이터베이스를 선택해야

mysql_select_db() 
+1

은 '이 http://php.net/manual/en/function.mysql-list-dbs.php – Neo

+0

내가 돈을 참조하십시오 mysql_select_db ('db', $ dbcon) 또는 die ('데이터베이스를 선택할 수 없습니다'); ' – ashley

+0

@ashley 다른 페이지에서는 데이터베이스를 생성 할 것이기 때문에 동적으로 만들어야합니다. – Katherine

답변

2

을 위해 사용하기 때문에 선택한 데이터베이스 이름을 얻을 필요, 그것은 다음과 같이 기본적으로 선택되어 있지 :

$dbcon = mysql_connect("localhost", "root", "") 
    or die(mysql_error()."Not Connected"); 

mysql_select_db("databasename"); # add this line 

$sql = mysql_query("select database()"); 
$row = mysql_fetch_array($sql); 
echo "db ".$row[0]; 

mysql_ * 함수는 더 이상 사용되지 않으므로 대신 mysqli_ *를 사용하십시오.

+0

나는 당신의 이름을 좋아했다 :) –

4

로그인 자격 증명을 사용하여 연결 한 직후 데이터베이스를 선택해야합니다.

SHOW DATABASES; 
1

첫째, 나는 그들이 사용되지대로 대신 MySQL의의 mysqli 기능을 사용하는 것이 좋습니다 것입니다 : 당신이보고 싶은 경우 또는, 무엇 root 사용자가 데이터베이스은 사용에 액세스 할 수 있습니다.

그런 다음, 당신은 단지) (반환 mysql_select_db하는 매개 변수에 데이터베이스 이름을 추가하여 데이터베이스를 선택 :

mysql_select_db('dbname'); 

메모를 mysqli의 또 다른 장점은 당신이 연결 문자열에서 데이터베이스를 지정할 수 있음을

3

select Database()에는 선택된 데이터베이스의 이름이 표시됩니다. mysql_select_db()을 사용하여 이미 데이터베이스를 선택한 후에 만 ​​작동합니다.

당신이 다음 사용하는 사용 가능한 데이터베이스의 이름을 얻고 싶다면 SHOW DATABASES

+0

oic .. "dbName 사용"쿼리 후에 "dbName"데이터베이스를 선택하는 것이 가능하다. – Katherine

+0

@Katherine 네가 할 수 있지만'use dbName'을 사용할 수 있다면'mysql_select_db'를 사용하지 말라. – alwaysLearn

+0

다른 페이지에서도 mysql_select_db를 사용해야하기 때문입니다. – Katherine

관련 문제