Heim  >  Artikel  >  Backend-Entwicklung  >  这段程序逻辑,如何优化到极致呢?求大神看看

这段程序逻辑,如何优化到极致呢?求大神看看

WBOY
WBOYOriginal
2016-06-13 12:20:13816Durchsuche

这段程序逻辑,怎么优化到极致呢?求大神看看
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 变量都是局部变量,因此即便有了查询结果,也等于没做

------解决思路----------------------
有的只是在函数外面,请你认真阅读手册中关于变量的作用域的章节!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn