PHP學(xué)習(xí)筆記——從搭建PHP開(kāi)發(fā)環(huán)境開(kāi)始
說(shuō)到PHP,我腦海中最先浮現(xiàn)的就是《社交網(wǎng)絡(luò)》中Mark在寢室中用PHP編寫(xiě)Facemash的畫(huà)面。這也是我學(xué)習(xí)PHP的原因之一。PHP的優(yōu)點(diǎn)我就不羅嗦了,看看那些使用PHP+MySQL技術(shù)的國(guó)內(nèi)外著名網(wǎng)站就知道了。學(xué)習(xí)一門(mén)語(yǔ)言,就得從搭建開(kāi)發(fā)環(huán)境開(kāi)始。
我使用的是Windows7操作系統(tǒng),在Windows平臺(tái)上搭建PHP的開(kāi)發(fā)環(huán)境可以下載WAMP(Windows、Apache、MySQL、PHP的首字母縮寫(xiě))集成化安裝包。這樣就不需要單獨(dú)安裝Apache、MySQL和PHP了。由于有些人的電腦已經(jīng)安裝了IIS,IIS的默認(rèn)端口是80端口而Apache也使用的是80端口,解決沖突的辦法不止一種,可以修改Apache安裝目錄下httpd.conf文件,停用IIS等。我個(gè)人采用的方法是將IIS的默認(rèn)端口修改為81端口。方法如下,打開(kāi)IIS管理器,選擇“Default Web Site”,點(diǎn)擊右側(cè)的“綁定”,即可修改端口了。
運(yùn)行wampServer,點(diǎn)擊Apache,在Service目錄下有個(gè)測(cè)試80端口。除了IIS之外,有許多軟件也會(huì)占用80端口,如迅雷、酷狗。
解決了端口沖突問(wèn)題之后,需要對(duì)PHP進(jìn)行相關(guān)設(shè)置。在“short open tag”這兒打鉤并去掉“display errors”前面的鉤。這樣就能支持?>這種標(biāo)簽了。
至于IDE,個(gè)人目前使用的是eclipse,口碑較好的還有zend studio等等。這里就介紹如何使eclipse支持PHP。首先,得先下載一個(gè)eclipse。安裝完成后,運(yùn)行eclipse,在主界面里找到Help下的“Instal New Software”。
然后在Work with中選擇“All Available Sites”。
稍等片刻之后,在“programming language”中找到PDT,一路NEXT下去就OK了。
安裝PDT之后,就可以使用eclipse編寫(xiě)PHP了。
下面來(lái)講一個(gè)我今天學(xué)習(xí)當(dāng)中遇到的疑惑。先看下代碼:
include("conn.php");
if($_POST['submit'])//1
{
$sql="insert into message(id,user,title,content,lastdate)".
"values('','$_POST[user]','$_POST[title]','$_POST[content]',now())";//2
mysql_query($sql);
echo "提交成功!";
}
?>
用戶:
標(biāo)題:
內(nèi)容:
仔細(xì)看1處和2處的代碼,可以發(fā)現(xiàn)1處的submit前后各有一個(gè)單引號(hào),而在2處user等都未加單引號(hào)。如果去掉1處的單引號(hào),程序會(huì)彈警告,而給2處的添加單引號(hào)則會(huì)報(bào)錯(cuò)。這是為什么呢?
其實(shí)呢,加不加單引號(hào)并沒(méi)有太大區(qū)別。唯一的區(qū)別就是加單引號(hào)的效率比不加引號(hào)效率高,原因在于,不加單引號(hào)的$_POST[submit],php會(huì)先去檢查php全文中是否有定義submit這個(gè)常量,如果找不到,才會(huì)把submit當(dāng)著字符串,然后去找$_POST['submit']的值;而如果加了引號(hào),就不會(huì)有去判斷submit是否為常量這一步,而是直接找$_POST['submit']的值;所以,最好是每個(gè)地方都應(yīng)該加上引號(hào),至于sql語(yǔ)句里面加單引號(hào)出錯(cuò),那是在sql語(yǔ)句中,外面已經(jīng)用了單引號(hào),里面還用單引號(hào),自然會(huì)造成sql語(yǔ)句出錯(cuò),此時(shí)需要進(jìn)行斜杠轉(zhuǎn)義。