現在我們將PHP3中常用的ODBC函數列舉一下:
odbc_connect (dns,user ,pass);
返回一個連接號,如果連接失敗則返回0。
odbc_pconnect (dns,user,pass);
特殊連接,腳本運行結束後,連接並不斷開。第二次連接相同的dns時快一些。
odbc_commit (連接號);
中斷該連接正在執行的線程,成功返回True,失敗返回False。
odbc_autocommit (連接號,0/1);
當參數為1時,設置該連接正在執行的所有線程為自動中斷。
odbc_do/odbc_exec (連接號,sql語句);
執行sql語句,返回一個結果號,如果操作失敗則返回false。
odbc_prepare (連接號,sql語句);
返回一個結果號,但不執行sql語句。可以以後用odbc_execute(該結果號)來執行。
odbc_fetch_into (結果號,[記錄數,] 數組);
把結果的某條記錄(省略為下一條記錄),放入數組(從[0]開始),不論數組的類型。
返回該記錄在結果中的位置,如操作失敗則返回false。
odbc_fetch_row (結果號,[記錄數]);
移到某條記錄(省略為下一條記錄),該記錄可被odbc_result讀寫。
odbc_num_fields (結果號);
返回字段總數。
odbc_num_rows (結果號);
返回記錄總數。
odbc_result (結果號,字段號/字段名);
返回結果中當前記錄中該字段號/字段名的字段。
odbc_result_all (結果號,sql語句);
返回所有查詢結果,並以html表格輸出。
odbc_field_name/odbc_field_type/odbc_field_len (結果號,字段號);
返回該字段的字段名/數據類型/數據長度。
odbc_lonreaglen (結果號,長度);
設置返回結果的字段長度,如長度為0則全部返回。
odbc_free_result (結果號);
釋放內存,當不需要內存中的查詢結果時。
odbc_cursor (結果號);
返回一個指針,指向該結果。
odbc_rollback
odbc_close (連接號);
關閉該連接。
odbc_close_all();
關閉所有連接。
一個用PHP3來操縱ODBC數據庫的具體例子。
db為odbc的dsn名,tab1為表名
echo "ODBC Samples"."
";
$Connection_ID=odbc_connect("db","","");
$Result_ID=odbc_exec($Connection_ID,"Select * from tab1");
$i=1;
$fldCount=odbc_num_fields($Result_ID);
echo "";
while (odbc_fetch_row($Result_ID,$i)<>0)
{
echo " ";
for ($j=1;$j<=$fldCount;$j++)
{
echo " ".$i." ";
echo " ".odbc_result($Result_ID,$j)." ";
}
echo "
";
$i=$i+1;
}
echo " ";
?>
其實查詢過程還可以簡化為:
$Connection_ID=odbc_connect("db","","");
$Result_ID=odbc_exec($Connection_ID,"Select * from tab1");
$fldCount=odbc_num_fields($Result_ID);
odbc_result_all($Result_ID);
?>