很不习惯PHP中的变量作用域,PHP中函数变量和全局是完全隔绝的,也就是无法相互访问。
比如下面这样:
复制代码代码如下:
$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
echo($test);
}$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
echo($test);
}
如果,你想在函数内部访问外部变量,你需要这样:
复制代码代码如下:
$test = 123;
abc(); //输出123
function abc(){
global $test;
echo($test);
}$test = 123;
abc(); //输出123
function abc(){
global $test;
echo($test);
}
也就是说,你使用全局变量就可以在函数内调用外部定义过的变量
要用global 关键字先声明是全局变量,
global $mysqlip, $mysqlname, $mysqlpass, $mysqdb; //然后才能用
$dbcnx = mysql_connect("$mysqlip","$mysqlname","$mysqlpass");
你在 inc/config.php 页面中 ,把$mysqlip $mysqlname ,$mysqlpass, $mysqdb
这四个变量前都加上global 就是全局变量了,就可以获取了
这样声明全局变量是错的:global $mysqlip = "localhost:3316";
正确写法:global $mysqlip;
$mysqlip = "localhost:3316";
改成全局变量 $GLOBALS['mysqlip'] ; 或者在方法能参数传递进去。