php數(shù)據(jù)庫工具函數(shù) php 工具

thinkphp對數(shù)據(jù)庫操作有哪些內(nèi)置函數(shù)

8.4.4 Model類

十載的高港網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整高港建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)建站從事“高港網(wǎng)站設計”,“高港網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

getModelName() 獲取當前Model的名稱

getTableName() 獲取當前Model的數(shù)據(jù)表名稱

switchModel(type,vars=array()) 動態(tài)切換模型

table() 設置當前操作的數(shù)據(jù)表

field() 設置要查詢的數(shù)據(jù)字段

where() 設置查詢或者操作條件

data(data) 設置數(shù)據(jù)對象

order(order) 設置排序

limit(limit) 查詢限制

page(page) 查詢分頁

join(join) 進行JOIN查詢

having(having) 進行having查詢

group(group) 進行group查詢

lock(lock) 查詢鎖定

distinct(distinct) 唯一性查詢

count(field) 記錄統(tǒng)計

sum(field) 總數(shù)查詢

min(field) 最小值查詢

max(field) 最大值查詢

avg(field) 平均值查詢

_initialize() 模型初始化方法

_facade(data) 對保存到數(shù)據(jù)庫的數(shù)據(jù)進行處理

_before_write(data) 寫入數(shù)據(jù)前的回調(diào)方法 包括新增和更新

add(data='',options=array()) 新增數(shù)據(jù)

_before_insert(data,options) 寫入數(shù)據(jù)前的回調(diào)方法

_after_insert(data,options) 寫入數(shù)據(jù)后的回調(diào)方法

selectAdd(fields='',table='',options=array()) 通過Select方式添加記錄

save(data='',options=array()) 更新數(shù)據(jù)到數(shù)據(jù)庫

_before_update(data,options) 更新數(shù)據(jù)前的回調(diào)方法

_after_update(data,options) 更新成功后的回調(diào)方法

delete(options=array()) 刪除數(shù)據(jù)

_after_delete(data,options) 刪除成功后的回調(diào)方法

select(options=array()) 查詢數(shù)據(jù)集

_after_select(resultSet,options) 查詢成功后的回調(diào)方法

findAll(options=array()) select方法的別名

_options_filter(options) 表達式過濾回調(diào)方法

find(options=array()) 查詢數(shù)據(jù)

_after_find(result,options) 查詢成功的回調(diào)方法

setField(field,value,condition='') 設置記錄的某個字段值

setInc(field,condition='',step=1) 字段值增長

setDec(field,condition='',step=1) 字段值減少

getField(field,condition='',sepa=' ') 獲取某個字段值

create(data='',type='') 創(chuàng)建數(shù)據(jù)對象

autoCheckToken(data) 表單令牌驗證

query(sql) 執(zhí)行原生SQL查詢

execute(sql='') 執(zhí)行原生SQL操作

startTrans() 啟動事務

commit() 提交事務

rollback() 事務回滾

getError() 獲取模型的錯誤信息

getDbError() 獲取數(shù)據(jù)庫的錯誤信息

getLastInsID() 獲取最后執(zhí)行的SQL語句

getPk() 獲取主鍵名稱

getDbFields() 獲取數(shù)據(jù)表的字段信息

regex(value,rule) 使用正則驗證數(shù)據(jù)

setProperty(name,value) 設置模型的屬性值

2.1版新增方法:

db(linkNum,config='') 切換當前數(shù)據(jù)庫連接

高級模型類AdvModel

topN(count,options=array()) 查詢滿足條件的前N個記錄

getN(position=0,options=array()) 查詢符合條件的第N條記錄

0 表示第一條記錄 -1 表示最后一條記錄

first(options=array()) 獲取滿足條件的第一條記錄

last(options=array()) 獲取滿足條件的最后一條記錄

returnResult(data,type='') 返回指定的數(shù)據(jù)類型

setLazyInc(field,condition='',step=1,lazyTime=0) 字段值延遲增長

setLazyDec(field,condition='',step=1,lazyTime=0) 字段值延遲減少

addConnect(config,linkNum=NULL) 增加數(shù)據(jù)庫連接

delConnect(linkNum) 刪除數(shù)據(jù)庫連接

closeConnect(linkNum) 關閉數(shù)據(jù)庫連接

switchConnect(linkNum,name='') 切換數(shù)據(jù)庫連接

patchQuery(sql=array()) 批處理執(zhí)行SQL語句

getPartitionTableName(data=array()) 得到分表的的數(shù)據(jù)表名

如何正確理解PHP獲取顯示數(shù)據(jù)庫數(shù)據(jù)函數(shù)

1、PHP獲取顯示數(shù)據(jù)庫數(shù)據(jù)函數(shù)之 mysql_result()

mixed mysql_result(resource result_set, int row [,mixed field])

從result_set 的指定row 中獲取一個field 的數(shù)據(jù). 簡單但是效率低.

舉例:

$link1?=?@mysql_connect("server1",?

"webuser",?"password")?

or?die("Could?not?connect?

to?mysql?server!");

@mysql_select_db("company")?

or?die("Could?not?select?database!");

$query?=?"select?id,?name?

from?product?order?by?name";?

$result?=?mysql_query($query);

$id?=?mysql_result($result,?0,?"id");

$name?=?mysql_result($result,?0,?"name");

mysql_close();

注意,上述代碼只是輸出結果集中的第一條數(shù)據(jù)的字段值,如果要輸出所有記錄,需要循環(huán)處理.

for?($i?=?0;?$i?=?mysql_num_rows($result);?$i++)

{

$id?=?mysql_result($result,?0,?"id");

$name?=?mysql_result($result,?0,?"name");

echo?"Product:?$name?($id)";

}

注意,如果查詢字段名是別名,則mysql_result中就使用別名.

2、PHP獲取顯示數(shù)據(jù)庫數(shù)據(jù)函數(shù)之mysql_fetch_row()

array mysql_fetch_row(resource result_set)

從result_set中獲取整行,把數(shù)據(jù)放入數(shù)組中.

舉例(注意和list 的巧妙配合):

$query?=?"select?id,?

name?from?product?order?by?name";?

$result?=?mysql_query($query);

while(list($id,?$name)?

=?mysql_fetch_row($result))?{

echo?"Product:?$name?($id)";

}

3、PHP獲取顯示數(shù)據(jù)庫數(shù)據(jù)函數(shù)之mysql_fetch_array()

array mysql_fetch_array(resource result_set [,int result_type])

mysql_fetch_row()的增強版.

將result_set的每一行獲取為一個關聯(lián)數(shù)組或/和數(shù)值索引數(shù)組.

默認獲取兩種數(shù)組,result_type可以設置:

MYSQL_ASSOC:返回關聯(lián)數(shù)組,字段名=字段值?

MYSQL_NUM:返回數(shù)值索引數(shù)組.

MYSQL_BOTH:獲取兩種數(shù)組.因此每個字段可以按索引偏移引用,也可以按字段名引用.

舉例:

$query?=?"select?id,

name?from?product?order?by?name";

$result?=?mysql_query($query);

while($row?=?mysql_fetch_array

($result,?MYSQL_BOTH))?{?

$name?=?$row['name'];

//或者?$name?=?$row[1];

$name?=?$row['id'];

//或者?$name?=?$row[0];

echo?"Product:?$name?($id)";

}

4、PHP獲取顯示數(shù)據(jù)庫數(shù)據(jù)函數(shù)之mysql_fetch_assoc()

array mysql_fetch_assoc(resource result_set)

相當于 mysql_fetch_array($result, MYSQL_ASSOC)

5、PHP獲取顯示數(shù)據(jù)庫數(shù)據(jù)函數(shù)之mysql_fetch_object()

object mysql_fetch_object(resource result_set)?

和mysql_fetch_array()功能一樣,不過返回的不是數(shù)組,而是一個對象.

舉例:

$query?=?"select?id,?name?

from?product?order?by?name";

$result?=?mysql_query($query);?

while($row?=?mysql_fetch_object

($result))?{

$name?=?$row-name;

$name?=?$row-id;

echo?"Product:?$name?($id)";

}

以上這些函數(shù)就是PHP獲取顯示數(shù)據(jù)庫數(shù)據(jù)函數(shù)的全部總結。

該學習哪些PHP函數(shù)? PHP常用函數(shù)?

首先是數(shù)據(jù)庫方面的函數(shù),例如:mysql_connect,mysql_create_db,mysql_fetch_array,mysql_select_db,mysql_query,數(shù)據(jù)庫的函數(shù)眾多,最好寫成一個類,可以參考discuz,phpcms等,如果是php5,可以使用PDO php的數(shù)組很強大,很多地方要用到最好把關于數(shù)組的循環(huán),分割,刪除等記住,例如:is_array,implode,explode,array_keys,array_merge等 還有就是記牢一些安全性的函數(shù)例如:addslashes,htmlspecialchars等 其他還有字符處理:subtr,strlen,trim等

Php數(shù)據(jù)庫和函數(shù)問題

這兩個函數(shù)功能完全不同:

mysql_affected_rows 取得前一次 MySQL 操作所影響的記錄行數(shù),操作是指INSERT、UPDATE、DELETE等,影響是指修改、變化的。如果函數(shù)失敗,返回值是-1。此函數(shù)參數(shù)為連接ID,也可以不要參數(shù)(當前默認的連接)。

mysql_num_rows()返回結果集中行的數(shù)目,僅對 SELECT 語句有效。注意其參數(shù)是mysql_query返回的結果集ID。

PHP中的一些MySQL函數(shù)

mysql可通過兩種方式通過php與web相連,一種通過php的mysql相關函數(shù),相關函數(shù)如下:

MYSQL函數(shù)

mysql_affected_rows:

得到

MySQL

最后操作影響的列數(shù)目。

mysql_close:

關閉

MySQL

伺服器連線。

mysql_connect:

開啟

MySQL

伺服器連線。

mysql_create_db:

建立一個

MySQL

新資料庫。

mysql_data_seek:

移動內(nèi)部傳回指標。

mysql_db_query:

送查詢字串

(query)

MySQL

資料庫。

mysql_drop_db:

移除資料庫。

mysql_errno:

傳回錯誤訊息代碼。

mysql_error:

傳回錯誤訊息。

mysql_fetch_array:

傳回陣列資料。

mysql_fetch_field:

取得欄位資訊。

mysql_fetch_lengths:

傳回單列各欄資料最大長度。

mysql_fetch_object:

傳回物件資料。

mysql_fetch_row:

傳回單列的各欄位。

mysql_field_name:

傳回指定欄位的名稱。

mysql_field_seek:

設定指標到傳回值的某欄位。

mysql_field_table:

獲得目前欄位的資料表

(table)

名稱。

mysql_field_type:

獲得目前欄位的型態(tài)。

mysql_field_flags:

獲得目前欄位的旗標。

mysql_field_len:

獲得目前欄位的長度。

mysql_free_result:

釋放傳回占用記憶體。

mysql_insert_id:

傳回最后一次使用

INSERT

指令的

ID。

mysql_list_fields:

列出指定資料表的欄位

(field)。

mysql_list_dbs:

列出

MySQL

伺服器可用的資料庫

(database)。

mysql_list_tables:

列出指定資料庫的資料表

(table)。

mysql_num_fields:

取得傳回欄位的數(shù)目。

mysql_num_rows:

取得傳回列的數(shù)目。

mysql_pconnect:

開啟

MySQL

伺服器長期連線。

mysql_query:

送出一個

query

字串。

mysql_result:

取得查詢

(query)

的結果。

mysql_select_db:

選擇一個資料庫。

mysql_tablename:

取得資料表名稱。

標題名稱:php數(shù)據(jù)庫工具函數(shù) php 工具
文章分享:http://muchs.cn/article14/docdsde.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、面包屑導航定制開發(fā)、營銷型網(wǎng)站建設App開發(fā)、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設