2012-01-06 22 views
0

Я пытаюсь подключиться к базе данных mysql в PHP-скрипте. До сих пор, мой код выглядитНе подключиться к базе данных

//to my knowledge, this works. I was able to echo out the correct name 
$name = $_POST["name"]; 


$server_name = "localhost"; 
$user_name = //my user name 
$password = //my password 
$db_name = //the db name 

//it passes this error check, so I am connecting properly I am assuming 
$dbconn = mysql_connect($server_name, $user_name, $password) 
    or die ('Could not connect to database: ' . mysql_error()); 

mysql_select_db($db_name, $dbconn); 

$query = "SELECT * 
      FROM brothers 
      WHERE name = '$name'"; 

//it DOES NOT make it past this one 
$result = mysql_query($query) 
    or die('Bad Query: ' . mysql_error()); 

//filter through the query as a row 
$row = mysql_fetch_array($result, MYSQL_ASSOC); 

//echo the result back to the user 
echo $row["name"]; 
echo $row["major"]; 


//close the connection 
mysql_close($dbconn); 

Я получаю сообщение об ошибке «Нет базу данных Selected», хотя я уверен, что пишется имя базы данных правильно (я копия вставил). Кто-нибудь знает, почему мой код может выбросить эту ошибку?

+0

Где вы укажете имя базы данных в приведенном выше коде? – Shyju

+1

Вы уверены, что данные вашей базы данных верны. – MrFoh

+1

Выполняйте то же 'или die ('Невозможно использовать DB:'. Mysql_error())' после вызова 'mysql_select_db()', чтобы узнать, что там происходит. – CanSpice

ответ

1

Может быть проблема с разрешениями (пользователь, который входа в систему, может быть, не имеют права на чтение базы данных):

mysql_select_db() терпит неудачу, если подключенный пользователь не может пройти проверку подлинности как имеющие разрешение на использование база данных.

0

Вот мой комментарий в форме ответа:

Сделайте то же or die ('Could not use DB: ' . mysql_error()) после mysql_select_db() вызова, чтобы узнать, что там происходит.

Ваш комментарий («access denied») предполагает, что у вас есть разрешения на подключение к серверу базы данных, но не для использования базы данных. Помните, что один сервер базы данных может иметь на нем несколько баз данных, каждый со своей собственной схемой разрешения. Проверьте разрешения на базу данных, которую вы пытаетесь использовать, и убедитесь, что $user_name может использовать ее с $password.

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