2013-03-30 2 views
0

У меня возникла проблема с получением имени строки в текущей выбранной базе данных. это то, что я сделал .. я пытаюсь повторить имя базы данных, но он выдает ошибку? «Warning: mysql_fetch_array() ожидает параметр 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_select_db() 
+1

Посмотреть http://php.net/manual/en/function.mysql-list-dbs.php – Neo

+0

я надеваю» t понимать, просто выполните: 'mysql_select_db ('db', $ dbcon) или die ('Не удалось выбрать базу данных.');' – ashley

+0

@ashley Мне нужно сделать его динамическим, потому что на другой странице я буду создавать базу данных – Katherine

ответ

2

Вы сами должны выбрать базу данных после подключения к MySQL, он не выбран по умолчанию, например:

$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

Вы должны либо выбрать базу данных сразу после подключения, используя свои учетные данные. Или, если вы хотите увидеть, какие базы root пользователь имеет доступ, использование:

SHOW DATABASES; 
1

первых, я хотел бы предложить вам использовать Mysqli функции вместо MySQL, поскольку они в настоящее время не рекомендуется.

Затем вы просто выбрать базу данных, добавив имя базы данных в параметре для mysql_select_db():

mysql_select_db('dbname'); 

к сведению, что еще одно преимущество MySQLi: вы можете указать базу данных в строке соединения

3

select Database() показывает имя имени выбранной базы данных. Он будет работать только после того, как вы уже выбрали базу данных, используя mysql_select_db().

Если вы хотите, чтобы получить имя базы данных доступны для вас, то используйте SHOW DATABASES

+0

oic .. можно выбрать базу данных «dbName» после этого запроса «use dbName» – Katherine

+0

@Katherine да, вы можете, но если вы можете использовать 'use dbName', то почему бы не использовать' mysql_select_db' – alwaysLearn

+0

, потому что мне также нужно использовать mysql_select_db на другой странице. – Katherine

Смежные вопросы