php初學者入門基礎知識(php入門基礎教程)

本文目錄一覽:

php新手如何入門

PHP的背景恐怕就不用贅言了,我相信大家選擇一種語言,並不是看它的背景和悠久歷史,更重要的是看它的實用性,華而不實的語言哪怕是再輝煌的歷史,也畢將步向沒落,可喜的是PHP經受住了考驗,也因此,它確實是一種值得學習的語言。

一直是聽從別人的經驗長大的,也因此在前輩們的經驗里讓少走了許多的彎路,更快的步入了正規,在此向那些我至盡不知道其名字的前輩們道聲謝謝,在的眼裡, 幫助不分大小,只要是幫助,總會讓的心裡暖融融的,我想,前輩們幫助我,並不是為了得到我的一句謝謝,更多的是出於一種責任感和對的期望,所以我想,只有 學好PHP,才能對得起前輩們的汗水。

正如我所說的,也終於感覺到了一種責任感,不知道自己的經驗到底能幫助新手多少,但是明白,現在到了履行責任的時候了,我有必要把自己的經驗告訴給所有希望學好PHP的人,只有這樣才能讓中國的PHP不斷的進步,不斷的發展,在世界上佔據一席之地。

學習PHP的這段期間,感覺國內的PHP環境越來越成熟,規範也在逐漸的健全,PHPCHINA的成立,標誌著與官方直接掛鉤的PHP機構在中國正式落戶了,在此獻上遲到的掌聲!

好的,切入正題:

我想在講述自己的學習方式前,對那些期望能從我的文章中獲得有用信息的人說一句心裡話:

的文章不會對您的學習起到實質性的作用,您能否成功,還得靠自己的,堅持,堅持,再堅持,就是步入成功的不二法門。

我先把我自己學習PHP的過程做一下概括:

(1)熟悉HTML/CSS/JS等網頁基本元素,完成階段可自行製作完整的網頁,對元素屬性達到熟悉程度

(2)理解動態語言的概念,運做機制,熟悉PHP語法

(3)學習如何將PHP與HTML結合起來完成簡單動態頁面

(4)接觸MYSQL,開始設計資料庫程序

(5)不斷鞏固,摸透大部分PHP常用函數,並可理解OOP,MYSQL優化,以及模板

(6)完成一個功能齊全的動態站點

我的這套線路可能跟許多學習PHP的愛好者不謀而合,這也算是一個循序漸進的學習過程,不過新手不要看到上面的概括就以為學習蠻簡單的,在此不得不對您稍微潑一下冷水,任何東西其實都不簡單,即使是小吃部的燒餅也不是一下子就會做成的。

我先解釋一下我的學習思路。

首先,理解網站這一概念之後不難看出,任何網站都是由網頁組成的,也就是說想完成網站,必須先學會做網頁,因此必須要掌握了HTML,才能為今後製作網站打下基礎。

在學習HTML中我想邊學邊做是最有效的方式,當然這一方式對於學習PHP同樣是最有效的。

HTML中的任何元素都要親自實踐,只有明白了什麼元素會起到什麼效果之後,你才會記憶深刻,而一味的啃書,絕對是不行的,我想大部分新手之所以覺得概念難學,大部分是一個字「懶」,懶是阻止進步的最大敵人,所以克服掉懶的習慣,才能更快的學好一樣東西。

也許您在學習PHP的時候只想儘快的開發一個網站,也就會想我做網站,幹嘛要學什麼網頁這些小兒科?不難看出,眼高手低的新手不在少數,這種思想無疑於建造空中樓閣,你不建地基,何來的房頂呢?

OK,掌握靜態網頁的製作技術是學習開發網站的先決條件,這一點就講到這裡,因為這篇文章不是教程文章,也就不對技術進行深入的刨析了。

我假設你目前已經可以完成一個靜態頁面了,當然,做的好看難看是另外一說,的第一個網頁也沒好看到哪去,但是「孩子」再丑,咱們做「爹媽」的也不能嫌棄不是?這畢竟是咱的成果。

那麼咱們就開始學習動態語言的概念吧,剛一接觸動態語言,可能很多人都會蒙了,怎麼這亂七八糟的東西,在網頁里顯示的時候卻是另外一碼事?其實這並不算亂 七八糟,你寫的HTML代碼不也一樣是一堆堆的字元嗎?畢竟,代碼並不是作為直接輸出的,而是經過處理的,說白了,HTML是經過HTML解析器,而 PHP當然也就通過PHP解析器了,跟學習HTML一樣的道理,想讓任何的解析器完成操作,就必須使用它們專用的語法結構,所以PHP長相奇怪也就不足為 奇了。

對於PHP的理解是新手最難邁過的一道門檻,不過你應該感到幸運的是PHP已經最大極限的為了新手而努力了,如果你學過其他的語言,也許會覺得PHP的確相當的簡單,但是如果你之前什麼都沒學過,那麼阿彌陀佛,硬著頭皮琢磨吧。

書過三遍自然熟,這個簡單的道理告訴我們,即使你理解不了PHP,但是也必須先跟它混個臉熟,看,一遍遍的看,看的同時一邊琢磨,一邊按照它所教的打代碼,即使你搞不清楚那些代碼到底是幹嘛的,但是起碼你應該找找感覺。

在一段掙扎之後,聰明的你,顯然已經逐漸的開悟了,慢慢的理解了編程的概念,那麼祝賀你,你已經邁出了成功的第一步。

搞清楚HTML和PHP的概念,那麼PHP和HTML混合編程應該不成問題,在這期間,你完全可以讓PHP給你算算一加一等於幾,然後在瀏覽器輸出,不要 覺得幼稚,這的確是跟阿波羅登月一樣,你打的是一小段代碼,但是對於你的編程之路,可是邁出了一大步啊!興奮吧?但是不得不再給你潑點冷水,您還是菜鳥一 個。

高興一段時間就必須繼續努力了,接下來就是學習資料庫了,MYSQL可算是PHP的黃金搭檔了,不過,雖然話是這麼說,你也可能恨不得把MYSQL給生吞活剝了,因為這一行一列的東東簡直讓自己頭暈目眩。

頭暈歸頭暈,目眩歸目眩,你不可能吃飯的時候咬了自己一下舌頭就從此不吃飯了不是?放下畏懼,繼續努力,咱們是來征服它的,而不是被它征服的,振奮起來吧同志。

在一番搏鬥之後,你終於理解了資料庫的概念,而且讓你興奮不已的是你終於可以通過PHP來連接資料庫了,這期間你是怎麼學會的,我們不去考證了,但是事實證明,你已經可以了。

學會了PHP和資料庫的你,無疑是左手拿著MOTOLOLA右手拿著NOKIA,要多瀟洒,有多瀟洒,哈哈,終於學會了,但是可能這個時候,又會有人不經意的拍拍肩膀對你說:哥們,別高興的太早,你還是菜鳥,離學會還差著一大截呢!

等到你發奮努力的學會了用PHP成功的插入,刪除,更新數據的時候,顯然,你已經距離成功指日可待了。

這個時候的你也許是這種狀態:

你會HTML嗎?會,我能編好幾個大表格排板的網頁啦!

你會PHP嗎?會,我會把一加一的運算寫在函數里,然後調用啦!

你會MYSQL嗎?會,我會把我的信息在資料庫里插入刪除啦

那,接下來你該怎麼做呢?我覺得,小試一下身手,大概是沒問題了,那麼交給你個任務,做個留言本吧,這和HELLO WORLD有一比啊!^_^,同是新手面臨的第一道關。

花了一段時間,你終於學會把表單的數據插入資料庫,然後顯示出來了,應該說一個程序的雛形已經誕生了。

但是,你可能瞅瞅東,看看西,人家這個編論壇,那個CMS,還有那啥CRM,我啥時候寫一個呢?

不要急,可以說你的馬步已經扎的差不多了,接下來就要開始練把勢的時候了,如果有條件的話,用筆或者列印一個簡易的PHP手冊在身上,時不時的摸出來看看,記得,去WC也不能放過(^2^)。

再有條件的話,買本書看看吧,《PHP+MYSQL WEB開發(第三版)》號稱聖經級,(也許是個不錯的選擇(聲明:作者沒給我啥好處費,我也不是書托,隔著大老遠,我連他老兄的面都沒見過的說-_-)

鞏固了自己的知識,熟悉了PHP和MYSQL開發的要領之後,再回頭看你寫的那個留言本,你也許會懷疑那真的是你寫的嗎?當然,如果屋裡還有鬼的話,也許是它寫的-_-

這個時候,你的留言本應該加入註冊以及分頁功能了,而如果你更強的話,UI(用戶界面)也可以加強,完成之後,感覺是不是特有成就感?不管怎麼樣,咱好歹 是寫了一個動態網站程序了,放在自己的網站上耍耍吧,讓好朋友來看看,嘿,看咱寫的多棒,然後再在網上宣傳一下。

幾天之後你再打開留言本,哎?哇,一下彈出N多頁面!很明顯,你的留言本並沒有做好安全防範,被人用JS代碼小小的耍了一下,我很同情你這個時候的感受,但是沒有別的辦法了,繼續努力吧!

你發奮努力,熟悉了安全方面的問題,然後又設計了一些程序,感覺還不錯。

那麼接下來,這就算學會啦?NO,NO,NO,還早呢,你至盡還沒碰過OOP之類的吧?模板呢?

恩,學!加緊學呀學,學會了這些之後,你又學會了生成靜態網頁,現在你應該接觸一下XML了,恩,XML也了解了,那麼AJAX你也得接觸接觸吧?AJAX完了….然後…

總而言之,你絕對不會發現你全部都學會了,一些真正的強人總會搞出新玩意來丟給你,你不學就落後了,也印證了前人的經驗,果然是學無止境啊!

我想通過我的一番YY,你也應該大致熟悉了一些學習過程,也許我的過程和你的有些出路,但是不管怎麼樣是殊途同歸,我寫這麼多,也只是給大家一個借鑒的機會,至於好與不好,不敢打包票^0^

看完之後你發現,羅嗦這麼多,對我一點用處沒有啊,我知道該怎麼學,但是我想如何才能更快的學,一周速成,啊不,24小時速成那種,你有沒?

我…….我沒有,但是2分鐘之內把你扁進醫院裡,我倒是有把握-_-

學東西,永遠不要妄想有速成這一說,告訴你了一個方式,但是缺少努力這一環節,那也是白搭。

但是有一點我可以給你保證的就是,你學會了PHP,那麼學其他的語言,肯定速成,反過來也一樣,如果你之前學過其他的語言,那麼學PHP肯定快。

不過語法好學,但是怎麼用語法來實現每個人都有每個人的方式,幾乎是各有千秋。然而借鑒別人成功的代碼,絕對是有益無害,因此,多看那些經過千錘百鍊凝出來的經典代碼,是進階的最好方法。

講了這麼多,無非是想說:學習PHP不僅要掌握方法,更多的是付出汗水,我不希望看到中途放棄的人,相信自己,相信自己的選擇,更要相信自己的能力,如果 自己想放棄,暴力一點的話,就自己抽自己一個嘴巴,然後大吼:別人可以,我為什麼就不可以?(是不是有點閻羅教練的味道,的確是電影看多了,抽嘴巴是會痛 的,各位其實明白這個道理了就行了)

另外要叮囑各位的是,抵禦誘惑,ASP/PHP/JSP/.NET的對比也許會讓你無所適從,你也許學了一半PHP,又開始打C#的主意,或者有人說 JAVA很強,這個時候的你絕對不能動搖,哪怕你真想學,也得學會了PHP。然後再學,見異思遷是最不可取的,狗熊掰玉米就是這個道理,如果經常中途放 棄,只能是一無所獲,還浪費了N多的時間和經歷,得不償失,最重要的是,你會被別人瞧不起,沒有人會喜歡和見異思遷的人交朋友,因為這種人太不安分,太不 可靠,因此,你必須要強迫自己完成自己的目標,哪怕可能會很難受,也得堅持,毅力就是這麼鍛鍊出來的。

北大青鳥設計培訓:PHP軟體開發入門基礎知識有哪些?

PHP軟體開發無疑是當下非常火熱的職業,是現在年輕人,高中畢業、大學畢業的學生嚮往的職業,也是在職想轉行人員所嚮往的高薪職業,越來越多的人想要跨進PHP軟體開發行列。

下面蘭州電腦培訓帶你來看看PHP軟體開發入門基礎知識有哪些。

PHP軟體開發能做什麼?PHP是一種被廣泛應用腳本語言,特別適用於Web前端開發,易理解,易學習。

它的特點是讓web前端開發人員快速編寫動態生成的web頁面,還有其他特點和功能:1。

運行在伺服器端:PHP軟體開發是處理存儲在伺服器的數據的。

2。

跨平台:伺服器可以是多種平台的伺服器。

3。

腳本語言:通過編寫腳本,指揮伺服器工作。

4。

免費:免費使用。

熟悉PHP軟體開發代碼標識:PHP腳本編寫完後,文件名一定要是以。

php為後綴的文件。

PHP-Echo語句:echo是PHP軟體開發中的輸出語句,能把字元串輸出。

需要注意的是echo關鍵字與字元串間最少有一個空格。

PHP-計算表達式:不同於Html和CSS,在PHP軟體開發中能做計算。

PHP-字元串:一個字元串是用雙引號括起來的一個詞。

PHP語句結束符:在PHP軟體開發中要在每條語句的末端加分號,但分號必須是在半形狀態下輸入。

注釋:在PHP軟體開發中也有注釋語句,用雙斜杠來表示單行注釋,用/**/來表示多行注釋。

零基礎,想學習PHP,應該先學習什麼?

PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql資料庫設計表、mysql資料庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux伺服器。

PHP攻城獅踐行學習路線圖:

1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很複雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。

2、先了解一些基本的變數類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。

3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。

4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是幹什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。

5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。

6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該準備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習

PHP入門基礎教程

PHP入門基礎教程大全

PHP於1994年由Rasmus Lerdorf創建,剛剛開始是Rasmus Lerdorf為了要維護個人網頁而製作的一個簡單的用Perl語言編寫的程序。這些工具程序用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量。後來又用C語言重新編寫,包括可以訪問資料庫。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和資料庫連接,產生簡單的動態網頁程序。為幫助大家入門學習php,我為大家分享PHP入門知識教程如下:

1、嵌入方法:

類似ASP的%,PHP可以是?php或者是?,結束符號是?,當然您也可以自己指定。

2、引用文件:

引用文件的方法有兩種:require 及 include。

require 的使用方法如 require(“MyRequireFile.php”); 。這個函數通常放在 PHP 程序的最前面,PHP 程序在執行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程序網頁的一部份。常用的函數,亦可以這個方法將它引入網頁中。

include 使用方法如 include(“MyIncludeFile.php”); 。這個函數一般是放在流程式控制制的處理部分中。PHP 程序網頁在讀到 include 的文件時,才將它讀進來。這種方式,可以把程序執行時的流程簡單化。

3、注釋方法:

?php

echo “這是第一種例子。\n” ; // 本例是 C++ 語法的注釋 (PHP的注釋跟C差不多!)

/* 本例採用多行的

注釋方式 */

echo “這是第二種例子。\n” ;

echo “這是第三種例子。\n” ; # 本例使用 UNIX Shell 語法注釋

?

4、變數類型:

$mystring = “我是字元串” ;

$NewLine = “換行了\n” ;

$int1 = 38 ;

$float1 = 1.732 ;

$float2 = 1.4E+2 ;

$MyArray1 = array( “子” , “丑” , “寅” , “卯” );

這裡引出兩個問題,首先PHP變數以$開頭,第二PHP語句以;結尾,可能ASP程序員會不適應。這兩個遺漏也是程序上大多錯誤所在。

5、運算符號:

數**非法字眼已被屏蔽**算:

符號     意義

+       加法運算

–        減法運算

*        乘法運算

/        除法運算

%      取餘數

++     累加

—       遞減

字元串運算:

運算符號只有一個,就是英文的句號。它可以將字元串連接起來,變成合併的新字元串。類似ASP中的

?

$a = “PHP 4” ;

$b = “功能強大” ;

echo $a.$b;

?

這裡也引出兩個問題,首先PHP中輸出語句是echo,第二類似ASP中的%=變數%,PHP中也可以?=變數?。

邏輯運算:

符號 意義

小於

大於

= 小於或等於

= 大於或等於

== 等於

!= 不等於

而且 (And)

and 而且 (And)

或者 (Or)

or 或者 (Or)

xor 異或 (Xor)

! 不 (Not)

學習目的:掌握php的流程式控制制

1、if..else 循環有三種結構

第一種是只有用到 if 條件,當作單純的判斷。解釋成 “若發生了某事則怎樣處理”。語法如下:

if (expr) { statement }

其中的 expr 為判斷的條件,通常都是用邏輯運算符號當判斷的條件。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括弧 {}。

範例:本例省略大括弧。

?php

if ($state==1)echo “哈哈” ;

?

這裡特別注意的是,判斷是否相等是==而不是=,ASP程序員可能常犯這個錯誤,= 是賦值。

範例:本例的執行部分有三行,不可省略大括弧。

?php

if ($state==1) {

echo “哈哈 ;

echo “br” ;

}

?

第兩種是除了 if 之外,加上了 else 的條件,可解釋成 “若發生了某事則怎樣處理,否則該如何解決”。語法如下

if (expr) { statement1 } else { statement2 } 範例:上面的例子來修改成更完整的處理。其中的 else 由於只有一行執行的指令,因此不用加上大括弧。

?php

if ($state==1) {

echo “哈哈” ;

echo “br”;

}

else{

echo “呵呵”;

echo “br”;

}

?

第三種就是遞歸的 if..else 循環,通常用在多種決策判斷時。它將數個 if..else 拿來合併運用處理。

直接看下面的例子

?php

if ( $a $b ) {

echo “a 比 b 大” ;

} elseif ( $a == $b ) {

echo “a 等於 b” ;

} else {

echo “a 比 b 小” ;

}

?

上例只用二層的 if..else 循環,用來比較 a 和 b 兩個變數。實際要使用這種遞歸 if..else 循環時,請小心使用,因為太多層的循環容易使設計的邏輯出問題,或者少打了大括弧等,都會造成程序出現莫名其妙的問題。

2、 for 循環就單純只有一種,沒有變化,它的語法如下

for (expr1; expr2; expr3) { statement }

其中的 expr1 為條件的`初始值。expr2 為判斷的條件,通常都是用邏輯運算符號 (logical operators) 當判斷的條件。expr3 為執行 statement 後要執行的部份,用來改變條件,供下次的循環判斷,如加一..等等。而 statement 為符合條件的執行部分程序,若程序只有一行,可以省略大括弧 {}。

下例是用 for 循環寫的的例子。

?php

for ( $i = 1 ; $i = 10 ; $i ++) {

echo “這是第”.$i.”次循環br” ;

}

?

3、 switch 循環,通常處理複合式的條件判斷,每個子條件,都是 case 指令部分。在實作上若使用許多類似的 if 指令,可以將它綜合成 switch 循環。

語法如下

switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; }

其中的 expr 條件,通常為變數名稱。而 case 後的 exprN,通常表示變數值。冒號後則為符合該條件要執行的部分。注意要用 break 跳離循環。

?php

switch ( date ( “D” )) {

case “Mon” :

echo “今天星期一” ;

break;

case “Tue” :

echo “今天星期二” ;

break;

case “Wed” :

echo “今天星期三” ;

break;

case “Thu” :

echo “今天星期四” ;

break;

case “Fri” :

echo “今天星期五” ;

break;

default:

echo “今天放假” ;

break;

}

?

這裡需要注意的是break;別遺漏了,default,省略是可以的。

很明顯的,上述的例子用 if 循環就很麻煩了。當然在設計時,要將出現機率最大的條件放在最前面,最少出現的條件放在最後面,可以增加程序的執行效率。上例由於每天出現的機率相同,所以不用注意條件的順序。

學會構建資料庫

在PHP中,MY SQL的命令行編輯可能會令初學者感到很麻煩,不要緊,你下載一個PHPMYADMIN安裝一下,以後建立編輯資料庫可以靠它了。

下面說一下它的使用。

進入了phpmyadmin後,我們首先需要建立一個資料庫,

Language (*) 這裡選擇中文簡體,然後在左邊的 創建一個新的資料庫 這裡填寫資料庫名字,點擊創建即可。

然後在左邊下拉菜單中選擇那個已經創建的資料庫。在下面的

在資料庫 shop 中創建一個新表 :

名字 :

欄位數 :

中填寫表名字和大致你認為的欄位數(不夠或者多了都不要緊,以後可以再添加或者預設),按執行。

然後就可以開始建立表了。

第一欄是欄位的名字;第二欄選擇欄位類型:

我們常用的是以下幾個:

1)VARCHAR,文本類型

2)INT,整數類型

3)FLOAT,浮點數類型

4)DATE,日期型

5)大家或許會問,自動添加的ID在哪裡?這個只要選擇INT類型,在後面的額外中選擇 auto_increment 就可以了。

建立了表以後,可以在左邊看到你建立的表,點擊以後,你可以:

1)按右邊的結構:查看修改表結構

2)按右邊的瀏覽:查看錶中的數據

3)按右邊的SQL:運行SQL語句

4)按右邊的插入:插入一行記錄

5)按右邊的清空:刪除表中所有記錄

6)按右邊的刪除:刪除表

還有一個很重要的功能就是導入和導出,當我們本機做好了程序和資料庫的時候,需要在伺服器上也有一個本地鏡像,如果是ASP的ACCESS簡單了,直接上傳MDB文件即可,如果是SQL SERVER也可以連接遠端伺服器進行導入。那麼MY SQL中你可以導出所有的SQL語句,到了遠端伺服器的PHPMYADMIN上,創建資料庫後按SQL,粘帖你剛才複製下來的所有本級生成的SQL語句即可。

學會連接資料庫

PHP簡直就是一個函數庫,豐富的函數使PHP的某些地方相當簡單。建議大家down一本PHP的函數手冊,總用的到。

我這裡就簡單說一下連接MYSQL資料庫。

1、mysql_connect

打開 MySQL 伺服器連接。

語法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 返回值: 整數

本函數建立與 MySQL 伺服器的連接。其中所有的參數都可省略。當使用本函數卻不加任何參數時,參數 hostname 的默認值為 localhost、參數 username 的默認值為 PHP 執行行程的擁有者、參數 password 則為空字元串 (即沒有密碼)。而參數 hostname 後面可以加冒號與埠號,代表使用哪個埠與 MySQL 連接。當然在使用資料庫時,早點使用 mysql_close() 將連接關掉可以節省資源。

2、 mysql_select_db

選擇一個資料庫。

語法: int mysql_select_db(string database_name, int [link_identifier]); 返回值: 整數

本函數選擇 MySQL 伺服器中的資料庫以供之後的資料查詢作業 (query) 處理。成功返回 true,失敗則返回 false。

最簡單的例子就是:

$conn=mysql_connect (“127.0.0.1”, “”, “”);

mysql_select_db(“shop”);

連接機MY SQL資料庫,打開SHOP資料庫。在實際應用中應當加強點錯誤判斷。

學會讀取數據

先看兩個函數:

1、mysql_query

送出一個 query 字元串。 語法: int mysql_query(string query, int [link_identifier]); 返回值: 整數

本函數送出 query 字元串供 MySQL 做相關的處理或者執行。若沒有指定 link_identifier 參數,則程序會自動尋找最近打開的 ID。當 query 查詢字元串是 UPDATE、INSERT 及 DELETE 時,返回的可能是 true 或者 false;查詢的字元串是 SELECT 則返回新的 ID 值,當返回 false 時,並不是執行成功但無返回值,而是查詢的字元串有錯誤。

2、mysql_fetch_object 返回類資料。 語法: object mysql_fetch_object(int result, int [result_typ]); 返回值: 類

本函數用來將查詢結果 result 拆到類變數中。若 result 沒有資料,則返回 false 值。

看一個簡單的例子:

?

$exec=”select * from user”;

$result=mysql_query($exec);

while($rs=mysql_fetch_object($result))

{

echo “username:”.$rs-username.”br”;

}

?

當然,表user中有一個username的欄位,這就類似asp中的

%

exec=”select * from user”

set rs=server.createobject(“adodb.recordset”)

rs.open exec,conn,1,1

do while not rs.eof

response.write “username:”rs(“username”)”br”

rs.movenext

loop

%

當然先要連接資料庫,一般我們 require_once(‘conn.php’);而conn.php裡面就是上一次說的連接資料庫的代碼。

小小的兩條命令可以完成讀取數據的工作了

學會添加刪除修改數據

mysql_query($exec);

單這個語句就可以執行所有的操作了,不同的就是$exec這個sql語句

添加:$exec=”insert into tablename (item1,item2) values (‘”.$_POST[‘item1’].”‘,”.$_POST[‘item1’].”)”;

刪除:$exec=”delete from tablename where…”;

修改:$exec=”update tablename set item1='”.$_POST[‘item1’].”‘ where …”;

說到這裡就要說一下表單和php變數傳遞,如果表單中的一個 input name=”item1″ type=”text” id=”item1″

表單以POST提交的,那麼處理表單文件就可以用$_POST[‘item1’]得到變數值,同樣以GET提交的就是$_GET[‘item1’]

是不是很簡單?但是通常$exec會有問題,因為可能您的SQL語句會很長,您會遺漏.連接符,或者’來包圍字元型欄位。

我們可以注釋mysql_query($exec);語句用echo $exec;代替來輸出$exec以檢查正確性。如果您還不能察覺$exec有什麼錯誤的話,可以複製這個sql語句到phpmyadmin中執行,看看它的出錯信息。還有需要注意的是,我們不要使用一些敏感的字元串作為欄位名字,否則很可能會出現問題,比如說date什麼的。變數的命名,欄位的命名遵循一點規律有的時候對自己是一種好處,初學者並不可忽視其重要性。

學會SESSION的使用

SESSION的作用很多,最多用的就是站點內頁面間變數傳遞。

在頁面開始我們要session_start();開啟SESSION;

然後就可以使用SESSION變數了,比如說要賦值就是:$_SESSION[‘item’]=”item1″;要得到值就是$item1=$_SESSION[‘item’];,很簡單吧。這裡我們可能會使用到一些函數,比如說判斷是不是某SESSION變數為空,可以這麼寫:empty($_SESSION[‘inum’])返回true or false。

下面綜合一下前面所說的我們來看一個登陸程序,判斷用戶名密碼是否正確。

登陸表單是這樣:login.php

table width=”100%” height=”100%” border=”0″ align=”center” cellpadding=”0″ cellspacing=”0″

tr

form action=”checklogin.php” method=”post”td align=”center” valign=”middle”table width=”400″ border=”0″ cellpadding=”5″ cellspacing=”1″ class=”tablebg”

tr class=”tdbg”

td colspan=”2″p align=”center”Administrators Login/p/td

/tr

tr class=”tdbg”

tdp align=”center”Username/p/td

tdp align=”center”

input name=”username” type=”text” id=”username”

/p/td

/tr

tr class=”tdbg”

tdp align=”center”Password/p/td

tdp align=”center”

input name=”password” type=”password” id=”password”

/p/td

/tr

tr class=”tdbg”

td colspan=”2″p align=”center”

input type=”submit” name=”Submit” value=”Submit”

input type=”reset” name=”Submit2″ value=”Clear”

/p/td

/tr

/table/td/form

/tr

/table

處理文件是這樣

?php

require_once(‘conn.php’);

session_start();

$username=$_POST[‘username’];

$password=$_POST[‘password’];

$exec=”select * from admin where username='”.$username.”‘”;

if($result=mysql_query($exec))

{

if($rs=mysql_fetch_object($result))

{

if($rs-password==$password)

{

$_SESSION[‘adminname’]=$username;

header(“location:index.php”);

}

else

{

echo “scriptalert(‘Password Check Error!’);location.href=’login.php’;/script”;

}

}

else

{

echo “scriptalert(‘Username Check Error!’);location.href=’login.php’;/script”;

}

}

else

{

echo “scriptalert(‘Database Connection Error!’);location.href=’login.php’;/script”;

}

?

conn.php是這樣:

?php

$conn=mysql_connect (“127.0.0.1”, “”, “”);

mysql_select_db(“shop”);

?

由於 $_SESSION[‘adminname’]=$username;我們可以這樣寫驗證是否登陸語句的文件:checkadmin.php

?php

session_start();

if($_SESSION[‘adminname’]==”)

{

echo “scriptalert(‘Please Login First’);location.href=’login.php’;/script”;

}

?

做一個分頁顯示

關鍵就是用到了SQL語句中的limit來限定顯示的記錄從幾到幾。我們需要一個記錄當前頁的變數$page,還需要總共的記錄數$num

對於$page如果沒有我們就讓它=0,如果有0就讓它也=0,如果超過了總的頁數就讓他=總的頁數。

$execc=”select count(*) from tablename “;

$resultc=mysql_query($execc);

$rsc=mysql_fetch_array($resultc);

$num=$rsc[0];

這樣可以得到記錄總數

ceil($num/10))如果一頁10記錄的話,這個就是總的頁數

所以可以這麼寫

if(empty($_GET[‘page’]))

{

$page=0;

}

else

{

$page=$_GET[‘page’];

if($page0)$page=0;

if($page=ceil($num/10))$page=ceil($num/10)-1;//因為page是從0開始的,所以要-1

}

這樣$exec可以這麼寫 $exec=”select * from tablename limit “.($page*10).”,10″;

//一頁是10記錄的

最後我們需要做的就是幾個連接:

a href=”xxx.php?page=0″FirstPage/a

a href=”xxx.php?page=?=($page-1)?”PrevPage/a

a href=”xxx.php?page=?=($page+1)?”NextPage/a

a href=”xxx.php?page=?=ceil($num/10)-1?”LastPage/a

注意事項

1、注意不要漏了分號

2、注意不要漏了變數前的$

3、使用SESSION的時候注意不要遺漏session_start();

如果發生錯誤的時候,可以採用以下方法:

1、如果是SQL語句出錯,就注釋了然後輸出SQL語句,注意也要注釋調後續的執行SQL語句

2、如果是變數為空,大多是沒有傳遞到位,輸出變數檢查一下,檢查一下表單的id和name

3、如果是資料庫連接出錯,檢查是否正確打開MY SQL和是否遺漏了連接語句

4、注意縮進,排除括弧不區配的錯誤

在做大網站的時候,我的思路是先構建資料庫,確定每一個欄位的作用,和表之間的關係。然後設計後台界面,從添加數據開始做起,因為添加是否成功可以直接到資料庫裡面驗證,做好了添加再做顯示的頁面,最後才是兩者的結合。一般來說後台就包括添加刪除修改和顯示,後台沒有問題了,前台也沒有什麼大問題。前台還需要注意安全性和容錯還有就是輸出格式。

學會用PHP上傳文件和發郵件

上傳文件表單必須加上 enctype=”multipart/form-data”

和 input type=”file” name=”file”

下面看一下代碼:

$f=$HTTP_POST_FILES[‘file’];

$dest_dir=’uploads’;//設定上傳目錄

$dest=$dest_dir.’/’.date(“ymd”).”_”.$f[‘name’];//我這裡設置文件名為日期加上文件名避免重複

$r=move_uploaded_file($f[‘tmp_name’],$dest);

chmod($dest, 0755);//設定上傳的文件的屬性

上傳的文件名為date(“ymd”).”_”.$f[‘name’] ,可以在以後插入到資料庫的時候用到,PHP實際上是把你上傳的文件從臨時目錄移動到指定目錄。move_uploaded_file($f[‘tmp_name’],$dest);這是關鍵

至於發郵件就更加簡單,可以使用mail()函數

mail(“收件人地址”,”主題”,”正文”,”From:發件人\r\nReply-to:發件人的地址”);

不過mail()需要伺服器的支持,在WINDOWS下還需要配置SMTP伺服器,一般來說外面的LINUX空間都行。

好像上傳文件和發郵件比ASP簡單很多,只要調用函數就可以了。ASP還需要用到伺服器的不同組件比如FSO、JMAIL什麼的。

;

學PHP之前需要哪些基礎呀

PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql資料庫設計表、mysql資料庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux伺服器。

PHP攻城獅踐行學習路線圖:

1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很複雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。

2、先了解一些基本的變數類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。

3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。

4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是幹什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。

5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。

6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該準備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習

學習PHP需要涉及哪些方面的知識

PHP需要掌握的知識還是比較多的,最基本的比如:PHP基本的語法、php框架以及CMS、mysql資料庫設計表、mysql資料庫的基本SQL語句。現在一般PHP的都得會前端,那就包括:js/ajax、html、css。如果更高點層次的就是linux伺服器。

PHP攻城獅踐行學習路線圖:

1、用集成環境安裝PHP環境,一定要記住這一點,不要自己分開去裝,尤其是自學的朋友。不然你會覺得很複雜,會沒有信心學下去的。也要注意任何高手都不是一蹴而就的,是一步一步,不同的階段歷練才有最後的沉澱。

2、先了解一些基本的變數類型,語法,函數,基本邏輯,寫簡單的代碼。前期以嘗試,培養興趣為主。這段時間是打基礎很好的時候,這個會影響你後面的發展,不過也可以在後期去完善。

3、這時候你可能覺得PHP就這樣,沒什麼難度,或者有的覺得太難了,簡直一臉疑惑。這個到底有什麼用。在這時候一定要堅持下來,可以試試先放一下,別太較真。慢慢的困惑你的會被你領悟的。這時,建議學習html+css+js,緩解自己的壓力,這個相對簡單,簡歷信心。尤其是js,總結其實有相同的思路,可以結合著一起體會。

4、這些都感覺有80%了解就可以先放放了,現在在學習MySQL,也是先了解基礎的。這個是幹什麼的,我可以用它做什麼。因為之前裝的集成環境。為什麼感覺是凌亂的,我想告訴你的是,一是不要在自己沒能力解決問題的時候死磕,浪費時間,喪失信心。這時候我們要做的是學習壯大自己,不要灰心。二是我本來覺得這一切都了解才是完整的。我們的目標也是要把這些都做好,這才是一個合格的PHP程序員。

5、這一切都順利的話,你基本離預設的目標不遠了,完成了整個學習的70%了。後面的是在之前的基礎上升華。把HTML和css、js結合、靜態文件和PHP結合、PHP和MySQL結合。這個階段可能越到的問題會異常的多,一定要學會解決問題。網上很多都是答案,同樣你要學會問問題。

6、這些之後你基本已經快到學習的尾聲了,但還缺少經驗。這時,你可以看一些網上開源的cms,例如織夢,國內用的多,越到問題好解決。看看一些視頻(網上免費的很多),查漏補缺,總結歸納形成自己的知識體系。是時候該準備慶祝下自己這段的時間沒有白費(一般2到3各月,看平時每天花的時間),基本成為一個合格的PHP程序員了。也該恭喜你了,其實並不那麼難。堅持,堅持;努力,努力;學習,學習

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/292901.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-25 18:38
下一篇 2024-12-25 18:38

相關推薦

  • Python wordcloud入門指南

    如何在Python中使用wordcloud庫生成文字雲? 一、安裝和導入wordcloud庫 在使用wordcloud前,需要保證庫已經安裝並導入: !pip install wo…

    編程 2025-04-29
  • Python小波分解入門指南

    本文將介紹Python小波分解的概念、基本原理和實現方法,幫助初學者掌握相關技能。 一、小波變換概述 小波分解是一種廣泛應用於數字信號處理和圖像處理的方法,可以將信號分解成多個具有…

    編程 2025-04-29
  • Python基礎教程第三版PDF下載

    熟練掌握Python編程語言可以讓你輕鬆地用代碼解決很多問題,Python基礎教程第三版是一本適合初學者的Python教程。本文將從幾個方面詳細介紹Python基礎教程第三版PDF…

    編程 2025-04-29
  • Python初學者指南:第一個Python程序安裝步驟

    在本篇指南中,我們將通過以下方式來詳細講解第一個Python程序安裝步驟: Python的安裝和環境配置 在命令行中編寫和運行第一個Python程序 使用IDE編寫和運行第一個Py…

    編程 2025-04-29
  • Python豎線圖:從入門到精通

    Python豎線圖,即Python的繪圖工具matplotlib中的一種圖形類型,具有直觀、易於理解的特點,適用於各種數據分析和可視化場景。本文從初學者角度出發,介紹Python豎…

    編程 2025-04-29
  • Python 初學者:如何使用Python畫出可愛的小動物

    Python是一種功能強大的編程語言,可以幫助您開發各種有趣的應用程序,包括圖像處理、遊戲設計、機器學習等。在這篇文章中,我們將向初學者介紹如何使用Python畫出可愛的小動物。我…

    編程 2025-04-29
  • Python爬取數據指南-從入門到精通

    Python爬蟲是指用Python編寫程序,自動化地獲取網路上的信息,並進行處理、分析和存儲。以下是Python爬取數據的指南,從入門到精通。 一、獲取網頁數據 Python爬蟲的…

    編程 2025-04-29
  • Python自學多久能入門?

    Python是一門極具優勢的編程語言,無論在人工智慧、數據分析、Web開發等領域都有廣泛的應用,所以越來越多的人開始學習Python。但是對於初學者來說,Python自學多久能入門…

    編程 2025-04-28
  • Python導出微信群聊天記錄:從入門到實踐

    微信群聊是我們日常生活中與家人、朋友聊天交流的重要平台。但是,當備份和查看微信群聊的聊天記錄時,我們常常會遇到各種問題。這時,我們可以使用Python對微信群聊天記錄進行導出、備份…

    編程 2025-04-28
  • Python熵權法入門指南

    本文將為你介紹Python熵權法的基礎知識以及如何在實際應用中使用熵權法,讓你能夠更好地理解該演算法並將其運用到實際工作中。 一、什麼是Python熵權法? Python熵權法是一種…

    編程 2025-04-28

發表回復

登錄後才能評論