php調(diào)用存儲過程.doc_第1頁
php調(diào)用存儲過程.doc_第2頁
php調(diào)用存儲過程.doc_第3頁
php調(diào)用存儲過程.doc_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

php調(diào)用存儲過程一、PHP如何調(diào)用數(shù)據(jù)庫的存儲過程:本文只討論P(yáng)HP怎么使用已有的存儲過程,而不討論如何編寫存儲過程。存儲過程有自己的輸入變量和返回值,所以當(dāng)php調(diào)用時先要傳遞給存儲過程輸入變量。聽起來很想php的函數(shù)調(diào)用。而返回值,實(shí)際上就返回的是資源(resource)。處理返回的資源和普通php執(zhí)行sql返回的資源一樣處理。1、MS SQL Server數(shù)據(jù)庫:/連接sql server數(shù)據(jù)庫$ms_Host = localhost;$ms_Username = root;$ms_Password = root;$ms_Database = unicom;$mssql_db = mssql_connect($ms_Host, $ms_Username, $ms_Password);mssql_select_db($ms_Database, $mssql_db);$uc_uid = $_POSTuc_uid;/調(diào)用名為pr_login_from_sina的存儲過程/有out返回參數(shù)的存儲過程$procedure = mssql_init(pr_login_from_sina,$mssql_db);mssql_bind($procedure,uid, $uc_uid, SQLVARCHAR); /給存儲過程傳遞參數(shù)(tinyint用INT1,int用INT4,smallint用INT2,bigint用VARCHAR)$resource = mssql_execute($procedure); /執(zhí)行存儲過程,并得到返回資源mssql_free_statement($procedure); /釋放存儲過程 mssql_close($mssql_db); /關(guān)閉連接/返回的資源同用query執(zhí)行的sql所返回的資源可以同樣處理if ( mssql_num_rows($resource) != 0 )$result = mssql_fetch_array($resource); /得到用戶信息echo $resultuser_pwd; /輸出用戶的密碼/只有return返回的存儲過程:在php4中能夠用mssql數(shù)據(jù)庫內(nèi)置的RETVAL返回得到return的值。而php5中存在這一定問題,只能用其他方法獲得。/php4中:$procedure = mssql_init(pr_add_remain_community_id,$mssql_db);mssql_bind($procedure, RETVAL, $val, SQLINT4); /參數(shù)類型根據(jù)return返回的類型而決定mssql_bind($procedure,remain_id, $uc_uid, SQLVARCHAR); $return = mssql_execute($procedure,false); var_dump($val);/php5中:$query = declare result intn;$query .= execute result=pr_add_remain_community_id $uc_uidn;$query .= select result resultn;$resource = mssql_query($query, $mssql_db);if ( mssql_num_rows($resource) != 0 )$result = mssql_fetch_array($resource); /得到用戶信息echo $resultresult; /輸出返回值2、Mysql數(shù)據(jù)庫:mysql比較麻煩。mysql數(shù)據(jù)庫需要在mysql 5.0以上配合php5的mysqli模塊進(jìn)行操作。其中根據(jù)存儲過程返回值的形式不同,調(diào)用和獲得返回值所用到的語句有所不同。/連接sql server數(shù)據(jù)庫$my_Host = localhost;$my_Username = root;$my_Password = root;$my_Database = unicom;$mysql_db = mysqli_connect($my_Host, $my_Username, $my_Password);mysqli_select_db($my_Database, $mysql_db);$uc_uid = $_POSTuc_uid;/無返回值的存儲過程:/調(diào)用名為pr_enable_user(實(shí)際操作為刪除)的存儲過程$sql = call pr_enable_user( $uc_id );$res = mysqli_query($mysql_db, $sql);if ($res)echo 刪除成功!;elseecho 刪除失??!;/有OUT返回值的存儲過程/調(diào)用pr_del_community(實(shí)際操作為刪除,而且有OUT為v_reg)的存儲過程mysqli_query($mysql_db, set community_id=$uc_id);$sql = call pr_del_community(community_id);$resource = mysqli_query($mysql_db, $sql);$result = mysqli_fetch_array($resource);$return_code = $resultv_reg;if ($return_code = 1)echo 刪除成功!;elseecho 刪除失??!;/有返回集的存儲過程/調(diào)用名為pr_login_from_sina(實(shí)際操作為查詢,返回值為select返回的各個字段)的存儲過程$query = call pr_login_from_sina( $uc_uid );mysqli_multi_query($mysql_db, $query);$result = mysqli_store_result($mysql_db);/返回的資源同用query執(zhí)行的sql所返回的資源可以同樣處理if ( mysqli_fetch_array($result) != 0 )$dispaly

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論