日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php中adodb中文手册,[转载]ADODB中文手册(4)

發布時間:2023/12/14 php 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php中adodb中文手册,[转载]ADODB中文手册(4) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ADODB

1.31版起,新增了兩個資料集函數:GetUpdateSQL()及GetInsertSQL()。這允許你在執行了像"SELECT

* FROM table query WHERE..."這樣的查詢函數後,建立一個

$rs->fields復本,改變這些欄位,然後自動產生出更新或是新增的SQL指令。

以下我們展示如何運用這些函數,我們將存取一個資料表,帶有下列欄位:(ID,FirstName,LastName,Created)。在這些函數被執行前,你需要藉由一個對資料表的查詢指令(select)來初始化一個資料集。

#==============================================

# GetUpdateSQL() 及 GetInsertSQL() 范例碼

#==============================================

include('ADOdb.inc.php');

include('tohtml.inc.php');

#==========================

# 以下的程式碼測試新增狀態

$sql = "SELECT * FROM ADOXYZ WHERE id =

-1";

# 從資料庫中查詢出一個空的資料集

$conn =

&ADONewConnection("mysql");

# 建立一個連結

$conn->debug=1;

$conn->PConnect("localhost",

"admin",

"",

"test"); # 連結到 MySQL, 資料庫名稱為

test

$rs = $conn->Execute($sql); #

執行查詢,并取得一個空的資料集

$record = array(); # 初始化一個陣列,以便存放記錄資料供新增用

# 設定記錄中的欄位值

$record["firstname"] =

"Bob";

$record["lastname"] =

"Smith";

$record["created"] =

time();

# 傳入空的資料集及欄位資料陣列到GetInsertSQL函數中,以執行功能

# 這個函數將會依傳入的資料,回傳一個全格式的 INSERT SQL指令

$insertSQL = $conn->GetInsertSQL($rs,

$record);

$conn->Execute($insertSQL); # 將記錄挿入資料庫中

#==========================

# 以下的程式碼測試更新狀態

$sql = "SELECT * FROM ADOXYZ WHERE id =

1";

# 選擇一筆記錄以便更新

$rs = $conn->Execute($sql); #

執行這個查詢,并取得一個存在的記錄來更新

$record = array(); # 初始化一個陣列,以存放要更新的資料

# 設定欄位里的值

$record["firstname"] =

"Caroline";

$record["lastname"] =

"Smith"; # 更新 Caroline的姓由 Miranda

變成 Smith

# 傳入這個只有單一記錄的資料集以及含有資料的陣列到 GetUpdateSQL函數里

# 函數將會回傳一個具有正確 WHERE 條件的 UPDATE(更新) SQL 指令

$updateSQL = $conn->GetUpdateSQL($rs,

$record);

$conn->Execute($updateSQL); # 更新資料庫中的記錄

$conn->Close();

?>

范例 8: 使用上一筆及下一筆實作卷動我們使用HTTP取得 $next_page 變數,以追蹤要跳去那一頁并且儲存目前頁碼在

session 變數 $curr_page 里。

我們呼叫連結物件的 PageExecute()函收去取得我們要的資料集,然後我們使用資料集的 AtFirstPage() 及

AtLastPage() 函數去決定是否顯示下一頁和上一頁按鈕。

include_once('ADOdb.inc.php');

include_once('tohtml.inc.php');

session_register('curr_page');

$db = NewADOConnection('mysql');

$db->Connect('localhost','root','','xphplens');

$num_of_rows_per_page = 10; $sql =

'select * from products';

if

(isset($HTTP_GET_VARS['next_page']))

$curr_page =

$HTTP_GET_VARS['next_page'];

if (empty($curr_page)) $curr_page = 1; ## at first

page $rs = $db->PageExecute($sql,

$num_of_rows_per_page, $curr_page); if (!$rs)

die('Query Failed'); if

(!$rs->EOF &&

(!$rs->AtFirstPage() ||

!$rs->AtLastPage())) { if

(!$rs->AtFirstPage()) {

?>

href="<?php echo

$PHPSELF,'?next_page=',$rs->AbsolutePage()

- 1 ?>">Previous

page

<?php } if

(!$rs->AtLastPage()) {

?>

href="<?php echo

$PHPSELF,'?next_page=',$rs->AbsolutePage()

+ 1 ?>">Next

page

<?php }

rs2html($rs); } ?>

以上的程式碼可以在 testpaging.php 范例里找到www.cn403.com。零食團購網

使用自定錯誤處理及 PEAR_Error在之前的版本,你可以使用像 $con->debug=true

; 這樣的設定來進行除錯。但在 1.50 版後,我們提供了另一種方法來處理錯誤狀態。我們讓工程師可以使用 ADODB

的自訂錯誤處理程序功能。

ADODB 提供了兩種自訂處理方式,你可以配合你的的需要而修訂。第一個方法放在

ADOdb-errorhandler.inc.php 檔案里。這讓你可以使用標準的 PHP 函數 err_reporting

去控制要顯示怎樣的錯誤訊息及 trigger_error 去呼叫 PHP 預設的錯誤處理程序。

引入了上述檔案後(ADOdb-errorhandler.inc.php),當發生了下列的錯誤後,將會使得

trigger_error($errorstring,E_USER_ERROR)被呼叫。

Connect() 或 PConnect() 執行失敗時。

執行 SQL 指令的函數失敗時,如 Execute() 或 SelectLimin() 。

GenID() 進入了無限回圈時。

這里的 $errorstring 變數是由 ADODB 所產生的。而且會包含了有用的除錯訊息,類似於隨後會建立的

error.log 資料。所以,為了要能正確提供除錯訊息,你要在建立 ADOConnection 物件前,就把

ADOdb-errorhandler.inc.php 引入到程式碼中。

If you define error_reporting(0), no errors will be shown. If you

set error_reporting(E_ALL), all errors will be displayed on the

screen.

如果你設定了 error_reporting(0) 的話,將不會有任何錯誤被顯示。如果你設定了

error_reporting(E_ALL),那將會顯示所有的錯誤訊息。

以下是一個簡單的范例:

顯示所有的錯誤訊息

include('ADOdb-errorhandler.inc.php');

include('ADOdb.inc.php');

include('tohtml.inc.php'); $c =

NewADOConnection('mysql');

$c->PConnect('localhost','root','','northwind');

$rs=$c->Execute('select * from

productsz'); #不正確的資料表 productsz');

if ($rs) $rs2html($rs); ?>

如果你要把錯誤訊息記錄下來,你可以定義兩個選擇性常數 ADODB_ERROR_LOG_TYPE,

ADODB_ERROR_LOG_DEST。有關於 ADODB_ERROR_LOG_TYPE 的值,服裝團購網你可以去叁考 PHP 使用手冊中有關於 error_log

的說明。在以下的范例中,我使將它設為 3,意思是指將訊息記錄到常數 ADODB_ERROR_LOG_DEST

所設定的檔案中。

不顯示任何的錯誤訊息

define('ADODB_ERROR_LOG_TYPE',3);

define('ADODB_ERROR_LOG_DEST','C:/errors.log');

include('ADOdb-errorhandler.inc.php');

include('ADOdb.inc.php');

include('tohtml.inc.php'); $c =

NewADOConnection('mysql');

$c->PConnect('localhost','root','','northwind');

$rs=$c->Execute('select * from

productsz'); ## 不正確的資料表 productsz if ($rs)

$rs2html($rs); ?>

以下則是寫在 error.log 檔的錯誤訊息:

(2001-10-28 14:20:38) mysql error: [1146: Table

'northwind.productsz'

doesn't exist] in EXECUTE("select

* from productsz")

第二種錯誤處理方法是 ADOdb-errorpear.inc.php

。使用這種方式,團購網站大全在錯誤發生時會產生 PEAR_Error 衍生物件,而最後產生的 PEAR_Error

物件可以被 ADODB_Pear_Errir() 函數取回。

include('ADOdb-errorpear.inc.php');

include('ADOdb.inc.php');

include('tohtml.inc.php'); $c =

NewADOConnection('mysql');

$c->PConnect('localhost','root','','northwind');

$rs=$c->Execute('select * from

productsz'); #不正確的資料表 productsz');

if ($rs) $rs2html($rs); else { $e =

ADODB_Pear_Error(); echo

'

',$e->message(),'

';

} ?>

在引入 ADOdb-errorpear.inc.php 檔之前,藉由定義 ADODB_PEAR_ERROR_CLASS

常數,你可以使用一個 PEAR_Error 衍生類別。為了方便除錯,你可以在 PHP 程式碼的最前面定義預設的錯誤理方式為

PEAR_ERROR_DIE,這將會使得程式一出錯,馬上就輸出錯誤訊息,并且停止執行。

include('PEAR.php');

PEAR::setErrorHandling('PEAR_ERROR_DIE');

注意,當錯誤產生時,ADODB并沒有明確的回傳一個 PEAR_Error 物件給你。你必需要去呼叫

ADODB_Pear_Error() 函數去取回最後的錯誤內容。或者,你可以使用 PEAR_ERROR_DIE 這個技巧。

總結

以上是生活随笔為你收集整理的php中adodb中文手册,[转载]ADODB中文手册(4)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。