真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PHP和MySQL有哪些開發(fā)技巧-創(chuàng)新互聯(lián)

這篇文章主要介紹“PHP和MySQL有哪些開發(fā)技巧”,在日常操作中,相信很多人在PHP和MySQL有哪些開發(fā)技巧問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP和MySQL有哪些開發(fā)技巧”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

鄒城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站建設等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。

PHP和MySQL開發(fā)有哪些技巧

1.PHP中數(shù)組的使用

在操作數(shù)據(jù)庫時,使用關聯(lián)數(shù)組(associatively-indexedarrays)十分有幫助,下面我們看一個基本的數(shù)字格式的數(shù)組遍歷:

$temp[0]="richmond";

$temp[1]="tigers";

$temp[2]="premiers";

for($x=0;$x

{

echo$temp[$x];

echo"";

}

?>

然而另外一種更加節(jié)省代碼的方式是:

$temp=array("richmond","tigers","premiers");

foreach($tempas$element)

echo"$element";

?>

foreach還能輸出文字下標:

$temp=array("club"=>"richmond",

"nickname"=>"tigers",

"aim"=>"premiers");

foreach($tempas$key=>$value)

echo"$key:$value";

?>

PHP手冊中描述了大約50個用于處理數(shù)組的函數(shù)。

2.在PHP字符串中加入變量

這個很簡單的:

$temp="hello"

echo"$tempworld";

?>

但是需要說明的是,盡管下面的例子沒有錯誤:

$temp=array("one"=>1,"two"=>2);

//輸出::Thefirstelementis1

echo"Thefirstelementis$temp[one].";

?>

但是如果后面那個echo語句沒有雙引號引起來的話,就要報錯,因此建議使用花括號:

$temp=array("one"=>1,"two"=>2);

echo"Thefirstelementis{$temp["one"]}.";

?>

3.采用關聯(lián)數(shù)組存取查詢結(jié)果

看下面的例子:

$connection=mysql_connect("localhost","albert","shhh");

mysql_select_db("winestore",$connection);

$result=mysql_query("SELECTcust_id,surname,

firstnameFROMcustomer",$connection);

while($row=mysql_fetch_array($result))

{

echo"ID:\t{$row["cust_id"]}\n";

echo"Surname\t{$row["surname"]}\n";

echo"Firstname:\t{$row["firstname"]}\n\n";

}

?>

函數(shù)mysql_fetch_array()把查詢結(jié)果的一行放入數(shù)組,可以同時用兩種方式引用,例如cust_id可以同時用下面兩種方式:$row["cust_id"]或者$row[0]。顯然,前者的可讀性要比后者好多了。

在多表連查中,如果兩個列名字一樣,好用別名分開:

SELECTwinery.nameASwname,

region.nameASrname,

FROMwinery,region

WHEREwinery.region_id=region.region_id;

列名的引用為:$row["wname"]和$row["rname"]。

在指定表名和列名的情況下,只引用列名:

SELECTwinery.region_id

FROMwinery

列名的引用為:$row["region_id"]。

聚集函數(shù)的引用就是引用名:

SELECTcount(*)

FROMcustomer;

列名的引用為:$row["count(*)"]。

4.注意常見的PHPbug

常見的PHP糾錯問題是:

NopagerenderedbytheWebbrowserwhenmuchmoreisexpected

Apop-updialogstatingthatthe"DocumentContainsNoData"

Apartialpagewhenmoreisexpected

出現(xiàn)這些情況的大多數(shù)原因并不在于腳本的邏輯,而是HTML中存在的bug或者腳本生成的HTML的bug。例如缺少類似,,之類的關閉Tag,頁面就不能刷新。解決這個問題的辦法就是,查看HTML的源代碼。

對于復雜的,不能查到原因的頁面,可以通過W3C的頁面校驗程序http://validator.w3.org/來分析。

如果沒有定義變量,或者變量定義錯誤也會讓程序變得古怪。例如下面的死循環(huán):

for($counter=0;$counter<10;$counter++)>

變量$Counter在增加,而$counter永遠小于10。這類錯誤一般都能通過設置較高的錯誤報告級別來找到:

error_reporting(E_ALL);

for($counter=0;$counter<10;$counter++)>

PHP和MySQL開發(fā)有哪些技巧

5.采用header()函數(shù)處理單部件查詢

在很多Web數(shù)據(jù)庫應用中,一些功能往往讓用戶點擊一個連接后,繼續(xù)停留在當前頁面,這樣的工作我叫它“單部件查詢”。

下面是一個叫做calling.php的腳本:

"-//W3C//DTDHTML4.0Transitional//EN"

"/tupian/20230522/pp  Clickhere!

當用戶點擊上面的連接時,就去調(diào)用action.php。下面是action.php的源碼:

//數(shù)據(jù)庫功能

//重定向

header("Location:$HTTP_REFERER");

exit;

?>

這里有兩個常見的錯誤需要提醒一下:

調(diào)用header()函數(shù)后要包含一個exit語句讓腳本停止,否則后續(xù)的腳本可能會在頭發(fā)送前輸出。

header()函數(shù)常見的一個錯誤是:

Warning:Cannotaddheaderinformation-headersalreadysent...

header()函數(shù)只能在HTML輸出之前被調(diào)用,因此你需要檢查php前面可能存在的空行,空格等等。

6.reload的問題及其解決

我以前在寫PHP程序時,經(jīng)常碰到頁面刷新時,數(shù)據(jù)庫多處理一次的情況。

我們來看addcust.php:

$query="INSERTINTOcustomer

SETsurname=$surname,

firstname=$firstname";

$connection=mysql_connect("localhost","fred","shhh");

mysql_select_db("winestore",$connection);

$result=mysql_query($query,$connection);

?>

"-//W3C//DTDHTML4.0Transitional//EN"

"/tupian/20230522/pp  I'veinsertedthecustomerforyou.

?>

假設我們用下面的連接使用這個程序:

http://www.freelamp.com/addcust.php?surname=Smith&firstname=Fred

如果這個請求只提交一次,OK,不會有問題,但是如果多次刷新,你就會有多條記錄插入。

這個問題可以通過header()函數(shù)解決:下面是新版本的addcust.php:

$query="INSERTINTOcustomer

SETsurname=$surname,

firstname=$firstname";

$connection=mysql_connect("localhost","fred","shhh");

mysql_select_db("winestore",$connection);

$result=mysql_query($query,$connection);

header("Location:cust_receipt.php");

?>

這個腳本把瀏覽器重定向到一個新的頁面:cust_receipt.php:

"-//W3C//DTDHTML4.0Transitional//EN"

"/tupian/20230522/pp  I'veinsertedthecustomerforyou.

這樣,原來的頁面繼續(xù)刷新也沒有副作用了。

7.巧用鎖機制來提高應用性能

如果我們要緊急運行一個報表,那么,我們可以對表加寫鎖,防治別人讀寫,來提高對這個表的處理速度。

8.用mysql_unbuffered_query()開發(fā)快速的腳本

這個函數(shù)能用來替換mysql_query()函數(shù),主要的區(qū)別就是mysql_unbuffered_query()執(zhí)行完查詢后馬上返回,不需要等待或者對數(shù)據(jù)庫加鎖。

但是返回的行數(shù)不能用mysql_num_rows()函數(shù)來檢查,因為輸出的結(jié)果集大小未知。

到此,關于“PHP和MySQL有哪些開發(fā)技巧”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站題目:PHP和MySQL有哪些開發(fā)技巧-創(chuàng)新互聯(lián)
標題鏈接:http://weahome.cn/article/desjjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部