2016-11-04 18 views
-1

私のエラーは、次のとおりです。未定義の変数が

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

注意:未定義の変数:CでのSQL:\ xamppの\ htdocsにライン上のフレームワークの\ frame.php \ 20

お知らせ:未定義の変数:C内のSQL:\ XAMPP \ htdocsにライン上のフレームワークの\ frame.php \ 20

注意:未定義の変数:C内のSQL:\ XAMPP \ htdocsにライン20上のフレームワークの\ frame.php \

注意:未定義変数:CでのDBC:\ 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