8.4.4 Model類
站在用戶的角度思考問題,與客戶深入溝通,找到樺甸網站設計與樺甸網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:成都網站建設、網站建設、企業官網、英文網站、手機端網站、網站推廣、國際域名空間、網站空間、企業郵箱。業務覆蓋樺甸地區。
getModelName() 獲取當前Model的名稱
getTableName() 獲取當前Model的數據表名稱
switchModel(type,vars=array()) 動態切換模型
table() 設置當前操作的數據表
field() 設置要查詢的數據字段
where() 設置查詢或者操作條件
data(data) 設置數據對象
order(order) 設置排序
limit(limit) 查詢限制
page(page) 查詢分頁
join(join) 進行JOIN查詢
having(having) 進行having查詢
group(group) 進行group查詢
lock(lock) 查詢鎖定
distinct(distinct) 唯一性查詢
count(field) 記錄統計
sum(field) 總數查詢
min(field) 最小值查詢
max(field) 最大值查詢
avg(field) 平均值查詢
_initialize() 模型初始化方法
_facade(data) 對保存到數據庫的數據進行處理
_before_write(data) 寫入數據前的回調方法 包括新增和更新
add(data='',options=array()) 新增數據
_before_insert(data,options) 寫入數據前的回調方法
_after_insert(data,options) 寫入數據后的回調方法
selectAdd(fields='',table='',options=array()) 通過Select方式添加記錄
save(data='',options=array()) 更新數據到數據庫
_before_update(data,options) 更新數據前的回調方法
_after_update(data,options) 更新成功后的回調方法
delete(options=array()) 刪除數據
_after_delete(data,options) 刪除成功后的回調方法
select(options=array()) 查詢數據集
_after_select(resultSet,options) 查詢成功后的回調方法
findAll(options=array()) select方法的別名
_options_filter(options) 表達式過濾回調方法
find(options=array()) 查詢數據
_after_find(result,options) 查詢成功的回調方法
setField(field,value,condition='') 設置記錄的某個字段值
setInc(field,condition='',step=1) 字段值增長
setDec(field,condition='',step=1) 字段值減少
getField(field,condition='',sepa=' ') 獲取某個字段值
create(data='',type='') 創建數據對象
autoCheckToken(data) 表單令牌驗證
query(sql) 執行原生SQL查詢
execute(sql='') 執行原生SQL操作
startTrans() 啟動事務
commit() 提交事務
rollback() 事務回滾
getError() 獲取模型的錯誤信息
getDbError() 獲取數據庫的錯誤信息
getLastInsID() 獲取最后執行的SQL語句
getPk() 獲取主鍵名稱
getDbFields() 獲取數據表的字段信息
regex(value,rule) 使用正則驗證數據
setProperty(name,value) 設置模型的屬性值
2.1版新增方法:
db(linkNum,config='') 切換當前數據庫連接
高級模型類AdvModel
topN(count,options=array()) 查詢滿足條件的前N個記錄
getN(position=0,options=array()) 查詢符合條件的第N條記錄
0 表示第一條記錄 -1 表示最后一條記錄
first(options=array()) 獲取滿足條件的第一條記錄
last(options=array()) 獲取滿足條件的最后一條記錄
returnResult(data,type='') 返回指定的數據類型
setLazyInc(field,condition='',step=1,lazyTime=0) 字段值延遲增長
setLazyDec(field,condition='',step=1,lazyTime=0) 字段值延遲減少
addConnect(config,linkNum=NULL) 增加數據庫連接
delConnect(linkNum) 刪除數據庫連接
closeConnect(linkNum) 關閉數據庫連接
switchConnect(linkNum,name='') 切換數據庫連接
patchQuery(sql=array()) 批處理執行SQL語句
getPartitionTableName(data=array()) 得到分表的的數據表名
php 中 mysqli 是個類,這個類的函數(方法)有:
mysqli::$affected_rows — Gets the number of affected rows in a previous MySQL operation
mysqli::autocommit — 打開或關閉本次數據庫連接的自動命令提交事務模式
mysqli::begin_transaction — Starts a transaction
mysqli::change_user — Changes the user of the specified database connection
mysqli::character_set_name — 返回當前數據庫連接的默認字符編碼
mysqli::$client_info — Get MySQL client info
mysqli::$client_version — Returns the MySQL client version as a string
mysqli::close — 關閉先前打開的數據庫連接
mysqli::commit — 提交一個事務
mysqli::$connect_errno — Returns the error code from last connect call
mysqli::$connect_error — Returns a string description of the last connect error
mysqli::__construct — Open a new connection to the MySQL server
mysqli::debug — Performs debugging operations
mysqli::dump_debug_info — 將調試信息輸出到日志
mysqli::errno — 返回最近函數調用的錯誤代碼
mysqli::$error_list — Returns a list of errors from the last command executed
mysqli::$error — Returns a string description of the last error
mysqli::$field_count — Returns the number of columns for the most recent query
mysqli::get_charset — Returns a character set object
mysqli::get_client_info — Get MySQL client info
mysqli_get_client_stats — Returns client per-process statistics
mysqli_get_client_version — 作為一個整數返回MySQL客戶端的版本
mysqli::get_connection_stats — Returns statistics about the client connection
mysqli::$host_info — 返回一個表述使用的連接類型的字符串
mysqli::$protocol_version — 返回MySQL使用的協議版本號
mysqli::$server_info — 返回MySQL服務器的版本號
mysqli::$server_version — 作為一個整數返回MySQL服務器的版本
mysqli::get_warnings — Get result of SHOW WARNINGS
mysqli::$info — Retrieves information about the most recently executed query
mysqli::init — Initializes MySQLi and returns a resource for use with mysqli_real_connect()
mysqli::$insert_id — Returns the auto generated id used in the last query
mysqli::kill — Asks the server to kill a MySQL thread
mysqli::more_results — Check if there are any more query results from a multi query
mysqli::multi_query — Performs a query on the database
mysqli::next_result — Prepare next result from multi_query
mysqli::options — Set options
mysqli::ping — Pings a server connection, or tries to reconnect if the connection has gone down
mysqli::poll — Poll connections
mysqli::prepare — Prepare an SQL statement for execution
mysqli::query — 對數據庫執行一次查詢
mysqli::real_connect — 建立一個 MySQL 服務器連接
mysqli::real_escape_string — Escapes special characters in a string for use in an SQL statement, taking into account the current charset of the connection
mysqli::real_query — 執行一個mysql查詢
mysqli::reap_async_query — Get result from async query
mysqli::refresh — Refreshes
mysqli::release_savepoint — Removes the named savepoint from the set of savepoints of the current transaction
mysqli::rollback — 回退當前事務
mysqli::rpl_query_type — Returns RPL query type
mysqli::savepoint — Set a named transaction savepoint
mysqli::select_db — 選擇用于數據庫查詢的默認數據庫
mysqli::send_query — 發送請求并返回結果
mysqli::set_charset — 設置默認字符編碼
mysqli::set_local_infile_default — Unsets user defined handler for load local infile command
mysqli::set_local_infile_handler — Set callback function for LOAD DATA LOCAL INFILE command
mysqli::$sqlstate — Returns the SQLSTATE error from previous MySQL operation
mysqli::ssl_set — Used for establishing secure connections using SSL
mysqli::stat — Gets the current system status
mysqli::stmt_init — 初始化一條語句并返回一個用于mysqli_stmt_prepare(調用)的對象
mysqli::store_result — Transfers a result set from the last query
mysqli::$thread_id — Returns the thread ID for the current connection
mysqli::thread_safe — 返回是否是線程安全的
mysqli::use_result — Initiate a result set retrieval
mysqli::$warning_count — Returns the number of warnings from the last query for the given link
以上函數清單直接來自 網站。你可以進入該網站參看。
mysql可通過兩種方式通過php與web相連,一種通過php的mysql相關函數,另一種通過php的odbc相關函數
相關函數如下:
mysql函數
mysql_affected_rows: 得到 mysql 最后操作影響的列數目。
mysql_close: 關閉 mysql 伺服器連線。
mysql_connect: 開啟 mysql 伺服器連線。
mysql_create_db: 建立一個 mysql 新資料庫。
mysql_data_seek: 移動內部傳回指標。
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: 獲得目前欄位的型態。
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: 取得傳回欄位的數目。
mysql_num_rows: 取得傳回列的數目。
mysql_pconnect: 開啟 mysql 伺服器長期連線。
mysql_query: 送出一個 query 字串。
mysql_result: 取得查詢 (query) 的結果。
mysql_select_db: 選擇一個資料庫。
mysql_tablename: 取得資料表名稱。
odbc函數
使用odbc函數需安裝mysql odbc
odbc_autocommit: 開關自動更動功能。
odbc_binmode: 設定二進位資料處理方式。
odbc_close: 關閉 odbc 連結。
odbc_close_all: 關閉所有 odbc 連結。
odbc_commit: 更動 odbc 資料庫。
odbc_connect: 連結至 odbc 資料庫。
odbc_cursor: 取得游標名。
odbc_do: 執行 sql 指令。
odbc_exec: 執行 sql 指令。
odbc_execute: 執行預置 sql 指令。
odbc_fetch_into: 取得傳回的指定列。
odbc_fetch_row: 取得傳回一列。
odbc_field_name: 取得欄位名稱。
odbc_field_type: 取得欄位資料形態。
odbc_field_len: 取得欄位資料長度。
odbc_free_result: 釋出傳回資料的記憶體。
odbc_longreadlen: 設定傳回欄的最大值。
odbc_num_fields: 取得欄位數目。
odbc_pconnect: 長期連結至 odbc 資料庫。
odbc_prepare: 預置 sql 指令。
odbc_num_rows: 取得傳回列數目。
odbc_result: 取得傳回資料。
odbc_result_all: 傳回 html 表格資料。
odbc_rollback: 撤消當前交易。
odbc_setoption: 調整 odbc 設定。
1、PHP獲取顯示數據庫數據函數之 mysql_result()
mixed mysql_result(resource result_set, int row [,mixed field])
從result_set 的指定row 中獲取一個field 的數據. 簡單但是效率低.
舉例:
$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();
注意,上述代碼只是輸出結果集中的第一條數據的字段值,如果要輸出所有記錄,需要循環處理.
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獲取顯示數據庫數據函數之mysql_fetch_row()
array mysql_fetch_row(resource result_set)
從result_set中獲取整行,把數據放入數組中.
舉例(注意和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獲取顯示數據庫數據函數之mysql_fetch_array()
array mysql_fetch_array(resource result_set [,int result_type])
mysql_fetch_row()的增強版.
將result_set的每一行獲取為一個關聯數組或/和數值索引數組.
默認獲取兩種數組,result_type可以設置:
MYSQL_ASSOC:返回關聯數組,字段名=字段值?
MYSQL_NUM:返回數值索引數組.
MYSQL_BOTH:獲取兩種數組.因此每個字段可以按索引偏移引用,也可以按字段名引用.
舉例:
$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獲取顯示數據庫數據函數之mysql_fetch_assoc()
array mysql_fetch_assoc(resource result_set)
相當于 mysql_fetch_array($result, MYSQL_ASSOC)
5、PHP獲取顯示數據庫數據函數之mysql_fetch_object()
object mysql_fetch_object(resource result_set)?
和mysql_fetch_array()功能一樣,不過返回的不是數組,而是一個對象.
舉例:
$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)";
}
以上這些函數就是PHP獲取顯示數據庫數據函數的全部總結。
當前文章:php發送數據庫的函數 php發送數據庫的函數有哪些
本文路徑:http://vcdvsql.cn/article4/ddojgoe.html
成都網站建設公司_創新互聯,為您提供云服務器、、軟件開發、外貿網站建設、服務器托管、網站內鏈
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯