以下是用odbc連接數據庫的例子:
創新互聯是一家專業提供中江企業網站建設,專注與成都網站設計、網站制作、外貿營銷網站建設、H5建站、小程序制作等業務。10年已為中江眾多企業、政府機構等服務。創新互聯專業網站建設公司優惠進行中。
?php
$db_connection = new COM("ADODB.Connection");
$db_connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=C:\DataDir\Employee.mdb;DefaultDir=C:\DataDir";
$db_connection-open($db_connstr);
$rs = $db_connection-execute("SELECT EmpNameLocal, EmpPosLocal FROM tbl_Employee WHERE ID='$IDNo'");
$rs_fld0 = $rs-Fields(0);
$rs_fld1 = $rs-Fields(1);
while (!$rs-EOF) {
$empNameLoc = $rs_fld0-value;
$empWPPos = $rs_fld1-value;
$rs-MoveNext();
}
$rs-Close();
$db_connection-Close();
?
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基礎知識和數據庫基礎知識。
以SQL為例。使用PHP MySQL 函數可以編輯數據庫。
mysql_connect() 函數打開MySQL 連接。舉例
?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}// 一些代碼...mysql_close($con);
?
mysql_connect()三個參數分別是服務器名,連接賬號,連接密碼。
連接之后,可以使用mysql_select_db()設置要處理的數據庫,后面則是用數據庫語句處理數據。SQL語法簡介網頁鏈接
這兩個函數功能完全不同:
mysql_affected_rows 取得前一次 MySQL 操作所影響的記錄行數,操作是指INSERT、UPDATE、DELETE等,影響是指修改、變化的。如果函數失敗,返回值是-1。此函數參數為連接ID,也可以不要參數(當前默認的連接)。
mysql_num_rows()返回結果集中行的數目,僅對 SELECT 語句有效。注意其參數是mysql_query返回的結果集ID。
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 設定。
可以用php中的函數:addslashes()函數用來將字符長假如斜線'\'
stripslashes()函數用來把addslashes()函數轉義后的字符串返回原樣