PHP function 里 怎么调用外部定义过的变量

<?phpinclude("inc/config.php");functiongamels($sql){$dbcnx=mysql_connect("$mysqlip","... <?php
include("inc/config.php");
function gamels($sql)
{
$dbcnx = mysql_connect("$mysqlip","$mysqlname","$mysqlpass"); $link = mysql_select_db("$mysqdb");
if(!$link)
{
echo "数据库连接失败!";
}
else
{
return mysql_query($sql);
}

}
?>
代码结束。
问题:
$mysqlip
$mysqlname
$mysqlpass
$mysqdb
这几个参数都是在 inc/config.php 配置文件里定义赋值过的参数.
可是执行的时候 却获取不到?求高人指点下谢谢!
展开
 我来答
279838089
推荐于2017-09-30 · TA获得超过2801个赞
知道大有可为答主
回答量:2818
采纳率:50%
帮助的人:1699万
展开全部
很不习惯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);
}
也就是说,你使用全局变量就可以在函数内调用外部定义过的变量
rockmant
2011-11-28 · TA获得超过2247个赞
知道小有建树答主
回答量:904
采纳率:0%
帮助的人:525万
展开全部
要用global 关键字先声明是全局变量,
global $mysqlip, $mysqlname, $mysqlpass, $mysqdb; //然后才能用
$dbcnx = mysql_connect("$mysqlip","$mysqlname","$mysqlpass");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随性亻
2011-11-28 · TA获得超过4180个赞
知道小有建树答主
回答量:4622
采纳率:84%
帮助的人:626万
展开全部
你在 inc/config.php 页面中 ,把$mysqlip $mysqlname ,$mysqlpass, $mysqdb
这四个变量前都加上global 就是全局变量了,就可以获取了
追问
global $mysqlip = "localhost:3316"; 这样吗?
追答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hqs1074879733
2011-11-28 · TA获得超过202个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:160万
展开全部
这样声明全局变量是错的:global $mysqlip = "localhost:3316";
正确写法:global $mysqlip;
$mysqlip = "localhost:3316";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
padostyle
2011-11-29 · 超过21用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:88.6万
展开全部
改成全局变量 $GLOBALS['mysqlip'] ; 或者在方法能参数传递进去。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式