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