8.4.4 Model類
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)欒川免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了超過千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
getModelName() 獲取當(dāng)前Model的名稱
getTableName() 獲取當(dāng)前Model的數(shù)據(jù)表名稱
switchModel(type,vars=array()) 動(dòng)態(tài)切換模型
table() 設(shè)置當(dāng)前操作的數(shù)據(jù)表
field() 設(shè)置要查詢的數(shù)據(jù)字段
where() 設(shè)置查詢或者操作條件
data(data) 設(shè)置數(shù)據(jù)對(duì)象
order(order) 設(shè)置排序
limit(limit) 查詢限制
page(page) 查詢分頁
join(join) 進(jìn)行JOIN查詢
having(having) 進(jìn)行having查詢
group(group) 進(jìn)行g(shù)roup查詢
lock(lock) 查詢鎖定
distinct(distinct) 唯一性查詢
count(field) 記錄統(tǒng)計(jì)
sum(field) 總數(shù)查詢
min(field) 最小值查詢
max(field) 最大值查詢
avg(field) 平均值查詢
_initialize() 模型初始化方法
_facade(data) 對(duì)保存到數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行處理
_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) 表達(dá)式過濾回調(diào)方法
find(options=array()) 查詢數(shù)據(jù)
_after_find(result,options) 查詢成功的回調(diào)方法
setField(field,value,condition='') 設(shè)置記錄的某個(gè)字段值
setInc(field,condition='',step=1) 字段值增長(zhǎng)
setDec(field,condition='',step=1) 字段值減少
getField(field,condition='',sepa=' ') 獲取某個(gè)字段值
create(data='',type='') 創(chuàng)建數(shù)據(jù)對(duì)象
autoCheckToken(data) 表單令牌驗(yàn)證
query(sql) 執(zhí)行原生SQL查詢
execute(sql='') 執(zhí)行原生SQL操作
startTrans() 啟動(dòng)事務(wù)
commit() 提交事務(wù)
rollback() 事務(wù)回滾
getError() 獲取模型的錯(cuò)誤信息
getDbError() 獲取數(shù)據(jù)庫的錯(cuò)誤信息
getLastInsID() 獲取最后執(zhí)行的SQL語句
getPk() 獲取主鍵名稱
getDbFields() 獲取數(shù)據(jù)表的字段信息
regex(value,rule) 使用正則驗(yàn)證數(shù)據(jù)
setProperty(name,value) 設(shè)置模型的屬性值
2.1版新增方法:
db(linkNum,config='') 切換當(dāng)前數(shù)據(jù)庫連接
高級(jí)模型類AdvModel
topN(count,options=array()) 查詢滿足條件的前N個(gè)記錄
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) 字段值延遲增長(zhǎng)
setLazyDec(field,condition='',step=1,lazyTime=0) 字段值延遲減少
addConnect(config,linkNum=NULL) 增加數(shù)據(jù)庫連接
delConnect(linkNum) 刪除數(shù)據(jù)庫連接
closeConnect(linkNum) 關(guān)閉數(shù)據(jù)庫連接
switchConnect(linkNum,name='') 切換數(shù)據(jù)庫連接
patchQuery(sql=array()) 批處理執(zhí)行SQL語句
getPartitionTableName(data=array()) 得到分表的的數(shù)據(jù)表名
1、PHP獲取顯示數(shù)據(jù)庫數(shù)據(jù)函數(shù)之 mysql_result()
mixed mysql_result(resource result_set, int row [,mixed field])
從result_set 的指定row 中獲取一個(gè)field 的數(shù)據(jù). 簡(jiǎn)單但是效率低.
舉例:
$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();
注意,上述代碼只是輸出結(jié)果集中的第一條數(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()的增強(qiáng)版.
將result_set的每一行獲取為一個(gè)關(guān)聯(lián)數(shù)組或/和數(shù)值索引數(shù)組.
默認(rèn)獲取兩種數(shù)組,result_type可以設(shè)置:
MYSQL_ASSOC:返回關(guān)聯(lián)數(shù)組,字段名=字段值?
MYSQL_NUM:返回?cái)?shù)值索引數(shù)組.
MYSQL_BOTH:獲取兩種數(shù)組.因此每個(gè)字段可以按索引偏移引用,也可以按字段名引用.
舉例:
$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)
相當(dāng)于 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ù)組,而是一個(gè)對(duì)象.
舉例:
$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ù)的全部總結(jié)。
建立數(shù)據(jù)庫:
步驟:核心-頻道模式-內(nèi)容模型管理,添加一個(gè)內(nèi)容模塊(手動(dòng)添加你需要的數(shù)據(jù)字段)然后建立.demo.php文件(demo自己命名),寫一個(gè)數(shù)據(jù)入庫操作(如果你的網(wǎng)站要處理大數(shù)據(jù)量的訪問的話,建議封裝函數(shù))。其中(數(shù)據(jù)主表:dede_archives
數(shù)據(jù)索引:dede_arctiny)和你添加的新表對(duì)應(yīng)字段才能進(jìn)行入庫操作,但織夢(mèng)的各個(gè)版本不同,字段也不同,需要樓主自己考慮,數(shù)據(jù)入庫之后,就好辦了。
添加
核心-網(wǎng)站欄目管理,添加你的需求欄目,這樣就可以在織夢(mèng)后臺(tái)讀取你的訂單了。
如果想前臺(tái)讀取的話,我想這個(gè)就比較簡(jiǎn)單了,你自己可以解決的。
不懂的話,請(qǐng)?jiān)僮穯?/p>
這兩個(gè)函數(shù)功能完全不同:
mysql_affected_rows 取得前一次 MySQL 操作所影響的記錄行數(shù),操作是指INSERT、UPDATE、DELETE等,影響是指修改、變化的。如果函數(shù)失敗,返回值是-1。此函數(shù)參數(shù)為連接ID,也可以不要參數(shù)(當(dāng)前默認(rèn)的連接)。
mysql_num_rows()返回結(jié)果集中行的數(shù)目,僅對(duì) SELECT 語句有效。注意其參數(shù)是mysql_query返回的結(jié)果集ID。
數(shù)組吧,直接把數(shù)組轉(zhuǎn)字符串啊
implode() 函數(shù)返回由數(shù)組元素組合成的字符串。(適合一維數(shù)組)
$arr = array('Hello', 'World', 'I', 'love', 'Shanghai');
1 echo implode(" ",$arr);//加空格
the result : Hello World I love Shanghai
2 echo implode(",",$arr);//加逗號(hào)
the result : Hello,World,I,love,Shanghai
轉(zhuǎn)換數(shù)組為字符串后插入數(shù)據(jù)庫就可以了。
本身這就是一個(gè)自定義函數(shù),數(shù)據(jù)需要插入的話需要自己構(gòu)造sql語句然后通過mysql_query將函數(shù)返回的值寫入數(shù)據(jù)庫。
想直接讓數(shù)據(jù)庫調(diào)用PHP的自定義函數(shù)是不現(xiàn)實(shí)的!
新聞標(biāo)題:php數(shù)據(jù)入庫函數(shù) php里輸出數(shù)據(jù)庫數(shù)據(jù)函數(shù)
URL地址:http://jinyejixie.com/article48/dosdsep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、移動(dòng)網(wǎng)站建設(shè)、App開發(fā)、手機(jī)網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)