未定义的变量当变量被分配一个值
问题描述:
我的错误是:未定义的变量当变量被分配一个值
Notice: Undefined variable: sql in C:\xampp\htdocs\framework\frame.php on line 20
说明:未定义变量:用C SQL:\ XAMPP \ htdocs中\上线框架\ frame.php 20
说明:未定义的变量:SQL在C:\ XAMPP \ htdocs中\上线框架\ frame.php 20
说明:未定义的变量:SQL在C:\ XAMPP \ htdocs中\线20上框架\ frame.php
注意:未定义变量:DBC在C:\ XAMPP \ htdocs中上线\的login.php 17
致命错误:调用一个成员函数查询()上的空在C:\ XAMPP \ htdocs中\上线17的login.php
我有包括另一(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);
}
}
而且我不明白为什么会这样?有任何想法吗?
答
这是一个可变范围问题,$sql
不在connectSQL函数的范围内。我建议将它作为一个参数:
function connectSQL($sql){
...
}
叫它:
connectSQL($sql);
+0
啊!谢谢!这是正确的在我面前。 – iceybeta
了解变量的作用域。 –