这段程序逻辑,怎么优化到极致呢?求大神看看
global $mbase_sex, $mbase_add, $mbase_tel, $mbase_sgao, $mbase_unick, $mbase_sri, $mbase_photo, $mbase_attest, $mbase_mpower, $mbase_email, $mbase_mextime, $mbase_mgold, $mbase_cybnum;
function marrbase()
{
if(isset($_cookie[uname]) && isset($_cookie[uid]))
{
$mbase_date = mysql_query(select * from dh_member where `uid`= . $_cookie[uid] . and `mck`=1,$con);
$mabse = mysql_fetch_array($mabse_date);
$mbase_sex = $mbase[sex];
$mbase_add = $mbase[add];
$mbase_tel = $mbase[tel];
$mbase_sgao = $mbase[sgao];
$mbase_unick = $mbase[unick];
$mbase_sri = $mbase[sri];
$mbase_photo = $mbase[photo];
$mbase_attest = $mbase[attest];
$mbase_mpower = $mbase[mpower];
$mbase_email = $mbase[email];
$mbase_mextime = $mbase[mextime];
$mbase_mgold = $mbase[mgold];
$mbase_cybnum = $mbase[cybnum];
}
else
{
exit;
}
}
我定义了一个函数 marrbase(),如果用户未登录则显示登录界面,如果已经登录则调用该函数:
if(!isset($_cookie['uname']) || !isset($_cookie['uid'])) {?>
...
}
else{
marrbase();
...
}?>
我总觉得这样会很浪费服务器资源,有没有更好的办法实现呢?
------解决思路----------------------
你先不要耽心资源浪费问题
而是先解决一下你的代码能否正确运行的问题
一段漏洞百出(有点夸张)的代码,从何谈起效率呢?
------解决思路----------------------
一般登录验证写在一个包含文件里,或者一个函数里;另外如果你的dh_member 表字段很多情况下就不要用select * 了,而是select 你需要的字段
------解决思路----------------------
我去。这个阶段你关心性能问题干毛。。。
还是先练好扎马步,再考虑轻功怎么飞的更快吧。
------解决思路----------------------
无论是
$mbase_date = mysql_query(select * from dh_member where `uid`= . $_cookie[uid] . and `mck`=1,$con);
还是
$mbase_date = mysql_query(select * from dh_member where `uid`={$_cookie[uid]} and `mck`=1,$con);
变量 $con 既没有传入,已没有声明为全局变量,这样会因为数据类型不对而不能工作
函数中除 $mbase_date 外的 $mbase_xxxx 变量都是局部变量,因此即便有了查询结果,也等于没做
------解决思路----------------------
有的只是在函数外面,请你认真阅读手册中关于变量的作用域的章节!