在mysql數(shù)據(jù)庫中,創(chuàng)建一個test數(shù)據(jù)庫,用于測試。
成都創(chuàng)新互聯(lián)公司專注于民和企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站制作。民和網(wǎng)站建設(shè)公司,為民和等地區(qū)提供建站服務(wù)。全流程按需求定制開發(fā),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
請點(diǎn)擊輸入圖片描述
新建一個php文件,命名為test.php,用于講解php如何選擇要操作的數(shù)據(jù)庫。
請點(diǎn)擊輸入圖片描述
在test.php文件中,使用header()方法將頁面的編碼格式設(shè)置為utf-8,避免輸出中文亂碼。
請點(diǎn)擊輸入圖片描述
在test.php文件中,使用mysql_connect()函數(shù),通過賬號和密碼創(chuàng)建一個數(shù)據(jù)庫的連接。
請點(diǎn)擊輸入圖片描述
在test.php文件中,再使用mysql_select_db()函數(shù)選擇要操作的數(shù)據(jù)庫test,選擇數(shù)據(jù)庫成功,則返回true,否則,返回false。最后,通過if語句判斷結(jié)果。
請點(diǎn)擊輸入圖片描述
在瀏覽器打開test.php文件,查看結(jié)果。
請點(diǎn)擊輸入圖片描述
END
總結(jié):
1、創(chuàng)建一個test數(shù)據(jù)庫。
2、使用mysql_connect()函數(shù)創(chuàng)建一個數(shù)據(jù)庫的連接。
3、再使用mysql_select_db()函數(shù)選擇要操作的數(shù)據(jù)庫test,并通過if語句判斷結(jié)果。
8.4.4 Model類
getModelName() 獲取當(dāng)前Model的名稱
getTableName() 獲取當(dāng)前Model的數(shù)據(jù)表名稱
switchModel(type,vars=array()) 動態(tài)切換模型
table() 設(shè)置當(dāng)前操作的數(shù)據(jù)表
field() 設(shè)置要查詢的數(shù)據(jù)字段
where() 設(shè)置查詢或者操作條件
data(data) 設(shè)置數(shù)據(jù)對象
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)計
sum(field) 總數(shù)查詢
min(field) 最小值查詢
max(field) 最大值查詢
avg(field) 平均值查詢
_initialize() 模型初始化方法
_facade(data) 對保存到數(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è)置記錄的某個字段值
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() 啟動事務(wù)
commit() 提交事務(wù)
rollback() 事務(wù)回滾
getError() 獲取模型的錯誤信息
getDbError() 獲取數(shù)據(jù)庫的錯誤信息
getLastInsID() 獲取最后執(zhí)行的SQL語句
getPk() 獲取主鍵名稱
getDbFields() 獲取數(shù)據(jù)表的字段信息
regex(value,rule) 使用正則驗證數(shù)據(jù)
setProperty(name,value) 設(shè)置模型的屬性值
2.1版新增方法:
db(linkNum,config='') 切換當(dāng)前數(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) 關(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 中獲取一個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();
注意,上述代碼只是輸出結(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的每一行獲取為一個關(guān)聯(lián)數(shù)組或/和數(shù)值索引數(shù)組.
默認(rèn)獲取兩種數(shù)組,result_type可以設(shè)置:
MYSQL_ASSOC:返回關(guān)聯(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)
相當(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ù)組,而是一個對象.
舉例:
$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é)。
1、用navicat新建一個數(shù)據(jù)庫database1。
2、在database1數(shù)據(jù)庫中新建一個表table2。
3、在table2中添加新的數(shù)據(jù),新建一個名稱為mysql_query的數(shù)據(jù)庫。
4、在頁面中用mysql_connect 函數(shù)與數(shù)據(jù)庫建立連接。
5、用mysql_select_db函數(shù)選擇要查詢的數(shù)據(jù)庫。
6、添加一個查詢 table2表的查詢語句“$sql=select * from table2“。
7、將查詢語句$sql添加到查詢數(shù)據(jù)庫函數(shù)mysql_query中,返回值賦值給變量query。
8、最后將mysql_query。php文件在瀏覽器中打開,查看查詢到數(shù)據(jù)庫中的內(nèi)容的結(jié)果。