PHP在Web應(yīng)用開發(fā)中起著重要的作用,而Firebird是一個(gè)開源關(guān)系型數(shù)據(jù)庫(kù),強(qiáng)調(diào)SQL兼容性、事務(wù)、存儲(chǔ)過(guò)程、觸發(fā)器與安全等特性,那么在IIS下如何使用PHP訪問Firebird數(shù)據(jù)庫(kù)呢?
首先,我們需要在IIS中啟用PHP并安裝firebird擴(kuò)展。假設(shè)我們已經(jīng)完成了這些準(zhǔn)備工作,下面介紹幾個(gè)示例操作。
一、連接Firebird數(shù)據(jù)庫(kù)
建立起php與Firebird數(shù)據(jù)庫(kù)的連接是開發(fā)Web應(yīng)用的第一步。代碼如下:
<?php $host = "localhost"; $db = "mydatabase.fdb"; $username = "SYSDBA"; $password = "masterkey"; $charSet = "UTF8"; $dbh = ibase_connect($host . ":" . $db, $username, $password, $charSet); if (!$dbh) { die("error: could not connect to database " . $host . ":" . $db); } ?>其中,$host代表Firebird服務(wù)器的IP地址或主機(jī)名,$db代表數(shù)據(jù)庫(kù)文件名,$username和$password分別是用戶名和密碼,$charSet表示使用的字符集。注意,如果不指定字符集,中文數(shù)據(jù)將會(huì)亂碼。 二、查詢數(shù)據(jù) 使用PHP查詢Firebird數(shù)據(jù)庫(kù)時(shí),必須要使用ibase_query()函數(shù)。舉個(gè)例子:
<?php $dbh = ibase_connect("localhost:/usr/local/mydatabase.fdb", "webuser", "password"); $sql = "SELECT * FROM mytable"; $stmt = ibase_query($dbh, $sql); while ($row = ibase_fetch_object($stmt)) { print $row->id . "\t" . $row->name . "\n"; } ibase_free_result($stmt); ibase_close($dbh); ?>此代碼連接名為mydatabase.fdb的數(shù)據(jù)庫(kù),并查詢其中的mytable表。 三、插入數(shù)據(jù) 使用以下示例代碼將一條記錄插入到mytable表中:
<?php $dbh = ibase_connect("localhost:/usr/local/mydatabase.fdb", "webuser", "password"); $sql = "INSERT INTO mytable (id, name) VALUES (3, 'Record 3')"; $stmt = ibase_query($dbh, $sql); ibase_free_result($stmt); ibase_close($dbh); ?>四、更新數(shù)據(jù) 使用以下示例代碼更新mytable表中的一條記錄:
<?php $dbh = ibase_connect("localhost:/usr/local/mydatabase.fdb", "webuser", "password"); $sql = "UPDATE mytable SET name='Record 5' WHERE id=3"; $stmt = ibase_query($dbh, $sql); ibase_free_result($stmt); ibase_close($dbh); ?>五、刪除數(shù)據(jù) 以下示例代碼從mytable表中刪除一條記錄:
<?php $dbh = ibase_connect("localhost:/usr/local/mydatabase.fdb", "webuser", "password"); $sql = "DELETE FROM mytable WHERE id=3"; $stmt = ibase_query($dbh, $sql); ibase_free_result($stmt); ibase_close($dbh); ?>以上是PHP連接Firebird數(shù)據(jù)庫(kù)在IIS下常用的一些操作,希望本文能對(duì)大家有所幫助。