note 42931 deleted from ref.ibase by thiago
| From: | thiago@php.net | Date: | Thu, 02 Oct 2008 15:25:20 +0000 |
| Subject: | note 42931 deleted from ref.ibase by thiago | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-144982@lists.php.net to get a copy of this message | ||
Note Submitter: chrisg at cordell dot com dot au
----
Simple function to retrieve the results of an SQL statement into an array, will also cater for BLOB
fields:
function interbase_sql_exec ($sql) {
$dataArr = array();
$host = "svrname:path\filename.GDB";
$username = "whatever";
$password = "******";
$connection = ibase_connect ($host, $username, $password,'ISO8859_1', '100',
'1');
$rid = @ibase_query ($connection, $sql);
if ($rid===false) errorHandle(ibase_errmsg(),$sql);
$coln = ibase_num_fields($rid);
$blobFields = array();
for ($i=0; $i < $coln; $i++) {
$col_info = ibase_field_info($rid, $i);
if ($col_info["type"]=="BLOB") $blobFields[$i] =
$col_info["name"];
}
while ($row = ibase_fetch_row ($rid)) {
foreach ($blobFields as $field_num=>$field_name) {
$blobid = ibase_blob_open($row[$field_num]);
$row[$field_num] = ibase_blob_get($blobid,102400);
ibase_blob_close($blobid);
}
$dataArr[] = $row;
}
ibase_close ($connection);
return $dataArr;
}