«
PHP+MYSQL建设网站程序需要注意两点

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  一、10句话</p><p>  1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON/OFF会对自己有什么影响的那天起,就应该勇敢地把它设为OFF.</p><p>  2.写程序前看看怎么用error_reporting.</p><p>  3.不懂就问本身没错,但你需要在那之前查查手册。</p><p>  4.当然,你需要懂得使用手册。手册上找不到答案的时候,应该考虑下网络上的搜索引擎。</p><p>  5.刚学会php+mysql之后,不要叫嚷着要写论坛,要写XXX。要明白,刚学会写汉字并不表示你有能力写诗。</p><p>  6.在学web编程的时候,你应该先去认识html这个朋友。</p><p>  7.有点能力后,试着回答新手的问题,不要看到自己懂的而别人不懂就沾沾自喜,扔下一名“简单,那是基本的东西”就走更要不得。</p><p>  8.思考是一个好习惯,不动手去写就等于空想,什么也没有。</p><p>  9.写好一段程序,如果觉得很满意,一周后再看一遍,也许你会认为它应该有所改变</p><p>  10.有空多看看别人的程序,找出他人的不足或优点,自己掂量。</p><p>  二. 各取所需</p><p>  1.善于使用“引用”,它能直接影响到程序的效率。</p><p>  2.善于用三元运算子,可以让程式较精简有效率。</p><p>  比如:</p><p>  PHP代码:</p><code>if ($data[$i]['nickname']){<br />  $nickname = $data[$i]['nickname'];<br />}<br />else{<br />  $nickname = $data[$i]['ip'];<br />}</code><p>  可以写成:</p><p>  PHP代码:</p><code>$nickname = $data[$i]['nickname'] ? $data[$i]['nickname'] : $data[$i]['ip'];</code><p>  3.善于组织if...else...回圈</p><p>  比如:</p><p>  PHP代码:</p><code>$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));<br />if (!empty($type))<br />{<br />  if (!strpos($type, $ext_name))<br />  {<br />    echo "Please upload the file of $type form.";<br />    exit();<br />  }<br />}</code><p>  上面的代码你应该写成这样:</p><p>  PHP代码:</p><code>$ext_name = strtolower(str_replace(".", "", strrchr($upfilename, ".")));<br />if (!($type==='') && strpos($type, $ext_name)===false)<br />{<br />  echo "Please upload the file of $type form.";<br />  exit();<br />}</code><p>  4.尽量让你的代码清淅些,如果写成这样,是比较让人头痛的:</p><p>  PHP代码:</p><code>$foo=$_post["foo"];<br />  $username=$_post["user"];<br />$group=$_POST["group"];<br />if ($group=="wheel")<br />{<br />$username=$username."wheel";<br />}</code><p>  同样的代码,这样就比较让人看得舒服了:</p><p>  PHP代码:</p><code>$foo   = $_post["foo"];<br />$username = $_post["username"];<br />$group  = $_POST["group"];<br />if ($group=="wheel")<br />{<br />  $username = $username."wheel";<br />}</code><p>  当然,有一定基础后,你应该要写成这样:</p><p>  PHP代码:</p><code>$foo   = &$_POST['foo'];<br />$username = $_POST["group"]!='wheel' ? $_POST["username"] : $_POST["username"].'wheel';</code><p>  5.编写规范的mysql 语句。</p><p>  字段和表名用"`"引起来,避免保留字的影响。</p><p>  如果看到下面这样的一个sql query,会让人比较头痛:</p><p>  PHP代码:</p><code>$query="select `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid` from `flash_comment` left join `product` on ( `flash_comment`.`p_no` = `product`.`p_no` ) left join `sgflash` on ( `product`.`p_name` = `sgflash`.`f_name` ) where `flash_comment`.`p_no` != '' order by `flash_comment`.`date`";</code><p>  同样的一个query,写成这样就令人看得明白得多了:</p><p>  PHP代码:</p><code>$query = "SELECT `flash_comment`.`content` , `flash_comment`.`nickname` , `flash_comment`.`date` , `flash_comment`.`ip` , `product`.`p_name` , `sgflash`.`fid`      FROM `flash_comment`      LEFT JOIN `product` ON ( `flash_comment`.`p_no` = `product`.`p_no` )      LEFT JOIN `sgflash` ON ( `product`.`p_name` = `sgflash`.`f_name` )      WHERE `flash_comment`.`p_no` != ''     ORDER BY `flash_comment`.`date`";</code></p>