PHP程式設計師必須掌握的知識

2021-04-06 01:44:06 字數 3120 閱讀 2625

php5的優點

php5的最大特點是引入了物件導向的全部機制,並且保留了向下的相容性。程式設計師不必再編寫缺乏功能性的類,並且能夠以多種方法實現類的保護。另外,在物件的整合等方面也不再存在問題。

使用php5引進了型別提示和異常處理機制,能更有效的處理和避免錯誤的發生。

mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的區別

例項**

<?php

$link=mysql_connect('localhost','root',」);

mysql_select_db('abc',$link);

$sql = 「select * from book」;

$result = mysql_query($sql);

while($row = mysql_fetch_row($result))

$result = mysql_query($sql);

while($row = mysql_fetch_array($result))

$result = mysql_query($sql);

while($row = mysql_fetch_object($result))

$result = mysql_query($sql);

while($row = mysql_fetch_assoc($result))

?>

詳細解釋:

mysql_fetch_row,這個函式是從結果集中取一行作為列舉資料,從和指定的結果標識關聯的結果集中取得一行資料並作為陣列返回。每個結果的列儲存在乙個陣列的單元中,偏移量從 0 開始。 注意,這裡是從0開始偏移,也就是說不能用欄位名字來取值,只能用索引來取值,所以如下**是取不到值的:

while($row = mysql_fetch_row($res)) //這裡的$row['cid'] 取不到值。

mysql_fetch_array,從結果集中取得一行作為關聯陣列,或數字陣列,或二者兼有,除了將資料以數字索引方式儲存在陣列中之外,還可以將資料作為關聯索引儲存,用欄位名作為鍵名。 也就是說他得到的結果像陣列一樣,可以用key或者索引來取值,所以

while($row = mysql_fetch_array($res))//這裡$row['cid'],$row[1]都能得到相應的值。

mysql_fetch_object,顧名思義,從結果集中取得一行作為物件,並將欄位名字做為屬性。所以只有這樣才能取到值

while($row = mysql_fetch_object($res))

mysql_fetch_assoc,從結果集中取得一行作為關聯陣列,也就是說這個函式不能像mysql_fetch_row那樣用索引來取值,只能用欄位名字來取,所以

while($row = mysql_fetch_assoc($res)) //$row[1]這樣是取不到值的

補充一點:

mysql_fetch_array函式是這樣定義的:array mysql_fetch_array ( resource result [, int result_type]),返回根據從結果集取得的行生成的陣列,如果沒有更多行則返回 false。

mysql_fetch_array() 中可選的第二個引數 result_type 是乙個常量,可以接受以下值:mysql_assoc,mysql_num 和 mysql_both。其中:

1、mysql_fetch_assoc($result)==mysql_fetch_array($result,mysql_assoc);

2、mysql_fetch_row($result)==mysql_fetch_array($result,mysql_num);

所以mysql_fetch_array()函式在某種程度上可以算是mysql_fetch_row()與 mysql_fetch_assoc()的集合。另外,mysql_fetch_array()另外還有mysql_both引數,將得到乙個同時包含關聯和數字索引的陣列。

在來說句 $row = $db->fetch_array($query);

$db是人資料庫操作類,$db->fetch_array($query),fetch_array($query)是那個db類裡的方法,$row = $db->fetch_array($query)這句的意思是從記錄集$query中得到資料庫中的一行記錄。

例項**:

$conn=@mysql_connect($host,$user,$pass);

@mysql_select_db($database,$conn);

$query=mysql_query($sql);

while($row=mysql_fetch_array($query))

索引(詳解)

索引的優點:加快查詢速度。

(如果你總結下索引的用途,其實也就這一點了,若是你的面試官說有其他的優點,那你完全可以告訴他,請你回去自己總結下索引這個到底是幹什麼的吧)

索引型別:

根據資料庫的功能,可以在資料庫設計器中建立四種索引:唯一索引、非唯一索引、主鍵索引和聚集索引。 儘管唯一索引有助於定位資訊,但為獲得最佳效能結果,建議改用主鍵或唯一約束。

唯一索引:

唯一索引是不允許其中任何兩行具有相同索引值的索引。 當現有資料中存在重複的鍵值時,大多數資料庫不允許將新建立的唯一索引與表一起儲存。資料庫還可能防止新增將在表中建立重複鍵值的新資料。

例如,如果在 employee 表中職員的姓 (lname) 上建立了唯一索引,則任何兩個員工都不能同姓。

非唯一索引:

非唯一索引是相對唯一索引,允許其中任何兩行具有相同索引值的索引。 當現有資料中存在重複的鍵值時,資料庫是允許將新建立的索引與表一起儲存。這時資料庫不能防止新增將在表中建立重複鍵值的新資料。

主鍵索引:

資料庫表經常有一列或列組合,其值唯一標識表中的每一行。該列稱為表的主鍵。 在資料庫關係圖中為表定義主鍵將自動建立主鍵索引,主鍵索引是唯一索引的特定型別。

該索引要求主鍵中的每個值都唯一。當在查詢中使用主鍵索引時,它還允許對資料的快速訪問。

聚集索引(也叫聚簇索引):

在聚集索引中,表中行的物理順序與鍵值的邏輯(索引)順序相同。乙個表只能包含乙個聚集索引。 如果某索引不是聚集索引,則表中行的物理順序與鍵值的邏輯順序不匹配。

與非聚集索引相比,聚集索引通常提供更快的資料訪問速度。

招聘PHP程式設計師要求

工作瀋陽地區工作職責 1.熟練掌握php程式語言 dreamwe er。熟悉html css 熟悉j ascript jquery as最佳。職位要 2.了解w3c標準,對規範化 seo有了解。3.熟悉sqlserver2000 2005 mysql資料庫開發流程。4.會搭建伺服器。1.對公司下發的...

PHP程式設計師面試題

目錄一 快取技術 必做 3 二 有關ajax的快取問題 必做 3 三 linux計畫任務的sh編寫 必做 3 四 軟體開發流程 3 五 mvc設計模式 3 六 有關css的知識問題 4 七 oop 開發與編碼風格 必做 4 八 實戰表單驗證 必做 4 在大規模資料訪問時,為有效降低資料庫儲存壓力,多...

PHP程式設計師轉正申請書

篇一 php程式設計師轉正申請及總結報告 尊敬的領導 我於2014年xx月xx日成為本公司技術部的一名php程式設計師,三個月的試用期轉眼就過去了。這段我人生中彌足珍貴的經歷,給我留下了精彩而美好的回憶。這段時間,在領導和同事們的關懷和指導下,我通過不懈努力,各方面均取得一定的進步,現將我的工作情況...