2013-03-01 10 views
0

У меня возникли проблемы с выбором моей базы данных с помощью PHP-скрипта на localhost.Ошибка выбора базы данных. Неизвестная ошибка базы данных на phpmyAdmin

Я 100% уверен, что дб имя правильно пишется и Infact она появляется на PhpMyAdmin очень хорошо, и только тогда, когда я пытаюсь подключиться к нему, запустив скрипт на локальном хосте он показывает следующее сообщение об ошибке:

Database selection failed Unknown database 'fokrul_justdeals' 

Мой PHP код здесь:

<?php 
    class database{ 
     public $connection; 
     // the user for the database 
     public $user = 'root'; 
     // the pass for the user 
     public $pswd = ''; 
     // the db from where you want to parse the info 
     public $db = 'fokrul_justdeals'; 
     // the host where db is located 
     public $host = 'localhost'; 

     function __construct(){ 
      $this->connect(); 
     } 

     private function connect(){ 
      $this->connection = mysql_connect("$host", "$user", "$pswd") or die("Database connection failed ". mysql_error()); 
      if($this->connection){ 
       // we select the db that we want to work with 
       mysql_select_db($this->db, $this->connection) or die("Database selection failed " . mysql_error()); 
      } 
     } 

Я прочитал тысячи форумов и я делаю все, как я буду. Но не знаете, что здесь происходит не так?

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

Я пробовал создавать разные имена db, а также пытался создавать новых пользователей и добавлять к ним полные привилегии. Ничто не работает для меня :(

+3

Не использовать MySQL, используйте MySQLi или PDO, это осуждается – Sam

+0

он все еще показывает выбор базы данных не удалось. Почему он не работает с mysql_connect? –

+0

Можете ли вы подключиться к db с помощью любого другого метода, например, MySQL Workbench или командной строки? – Voitcus

ответ

2
$this->connection = mysql_connect("$host", "$user", "$pswd") or die("Database connection failed ". mysql_error()); 

Вы должны использовать

$this->host,$this->user,$this->pswd 
+0

Спасибо, mate. Теперь он говорит об этом Не удалось подключиться к базе данных Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: NO) –

+0

ваш пользователь или пароль или хозяин неверно – MIIB

+0

Как вы можете видеть из моего кода выше (PHP), я использую пользователя root, и у него нет пароля, поэтому он остается пустым. Я проверил phpmyAdmin. Пользователь root имеет полные привилегии для fokrul_justdeals. Db –

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