2016-11-04 2 views
-1

Мои ошибки:Неопределенная переменная Где переменная присваивается значение

Notice: Undefined variable: sql in C:\xampp\htdocs\framework\frame.php on line 20

Примечание: Undefined переменной: SQL в C: \ XAMPP \ HTDOCS \ Framework \ frame.php на линии 20

Примечание: Неопределенная переменная: SQL в C: \ XAMPP \ HTDOCS \ Framework \ frame.php на линии 20

Примечание: Undefined переменной: SQL в C: \ XAMPP \ HTDOCS \ Framework \ frame.php на линии 20

Примечание. Неопределенные переменная: DBC в C: \ XAMPP \ HTDOCS \ login.php на линии 17

Фатальная ошибка: Вызов функции член запроса() на нуль в C: \ XAMPP \ HTDOCS \ login.php на линии 17

у меня есть файл, который включает в себя другой (PHP)

config.php:

$sql_host = "localhost"; 
$sql_user = "root"; 
$sql_pass = ""; 
$sql_databasename = "data"; 

просто, правда?

Теперь frame.php:

require($_SERVER['DOCUMENT_ROOT'] . "/inc/config.php"); 
$sql = array(
     "host" => $sql_host, 
     "user" => $sql_user, 
     "pass" => $sql_pass, 
     "dbid" => $sql_databasename, 
    ); 

    foreach ($sql as $v){ 
     if (!isset($v)){ 
      die("ERROR: SQL LOGIN INVALID"); 
     } 
    } 

    function connectSQL(){ 
     $dbC = new mysqli($sql["host"], $sql["user"], $sql["pass"], $sql["dbid"]); 

     if ($dbC->connect_error){ 
      die("SQL Error: " . $dbC->connection_error); 
     } 
    } 

И я не понимаю, почему это происходит? Есть идеи?

+0

Узнайте о области видимости переменной. –

ответ

0

Это проблема с переменной областью, $sql не входит в сферу действия функции connectSQL. Я предлагаю передать его в качестве аргумента:

function connectSQL($sql){ 
    ... 
} 

Вызова его:

connectSQL($sql); 
+0

Ах! Спасибо! Это было прямо перед моим лицом. – iceybeta