adout adodb’s $ADODB_FETCH_MODE

adodb’s $ADODB_FETCH_MODE

$ADODB_FETCH_MODE

這個共用變數決定了資料集以那種方式將資料傳給陣列。資料集在被建立時(如 Execute()或SelectLimit())會把本變數($ADODB_FETCH_MODE)的值保存下來,而隨後本變數($ADODB_FETCH_MODE)的任何改變都不會影響到現存的資料集,只有在以後資料集被建立起來時才會改變。

以下為為已定義的常數:

define(‘ADODB_FETCH_DEFAULT’,0);
define(‘ADODB_FETCH_NUM’,1);
define(‘ADODB_FETCH_ASSOC’,2);
define(‘ADODB_FETCH_BOTH’,3);

例子:


$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
$rs1 = $db->Execute(‘select * from table’);
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$rs2 = $db->Execute(‘select * from table’);
print_r($rs1->fields);
# 顯示 array([0]=>’v0′,[1] =>’v1′)

print_r($rs2->fields);
# 顯示 array([‘col1′]=>’v0’,[‘col2′] =>’v1’)

以上是 $ADODB_FETCH_MODE 運用方式
今天在使用時發生了 list($min_level) = $result->FetchRow();
無效的狀況!找了半天,終於發現…
GLOBAL $ADODB_FETCH_MODE;
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
這兩行code…
因為我將 $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
所以才導致 list() 無法使用
費了我挺久的時間找ㄋ!

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>