2013-08-12 4 views
0

Я определяю все мои подключения во внешнем файле с именем db_config.php Это позволяет моим файлам классов использовать файл db_config.php для соединений.Соединения DB. Ошибка SQL retrieve

Однако, мне интересно, может ли кто-нибудь пролить свет на следующую ошибку.

SQL Retrieve Error: No database selected 

Это ссылка на эту строку кода на db_config.php.

return array("host"=>"x", "username"=>"x", "password"=>"x", "dbname"=>"x"); 

Это функция, которая делает вызов

function openDB() { 
    $config = include_once("assets/configs/db_config.php"); 
    $conn = mysqli_connect(
     $config["host"] , $config["username"], 
     $config["password"], $config["dbname"]); 
    $this->conn = $conn; 
    return true; 
} 

Что я упускаю?

+0

Убедитесь, что значение '$ config [" dbname "]' - это то, что вы ожидаете от него. – Orangepill

+0

Сделайте дамп в переменной '$ config', чтобы проверить правильность передачи значений – silentw

+0

@Orangepill Все правильно. Любые другие предложения, пожалуйста? – user2646567

ответ

1

Прежде всего убедитесь, что переменные в файле конфигурации верны. Если они верны, попробуйте изменить include_once для включения.

, если это не работает, а затем изменить код:

function openDB() { 
    $config = array("host"=>"x", "username"=>"x", "password"=>"x", "dbname"=>"x"); 
    $conn = mysqli_connect(
     $config["host"] , $config["username"], 
     $config["password"], $config["dbname"]); 
    $this->conn = $conn; 
    return true; 
} 

Смотрите, если это работает мой путь. Если это произойдет, вам не понадобится файл db.php.

1

Пожалуйста дамп переменных конфигураций $ и проверить, что происходит не так,

 <?php 
    var_dump($config); 
    ?> 

Таким образом, вы можете найти $ конфига возвращает массив или нет!

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