编程示例

使用odbc_connect()函数连接神通数据库:

$conn = odbc_connect($dsn,$username, $password)

测试连接:

<?php
print "test_begin_ \n";
$code = 5;
$code= odbc_connect("ST","SYSDBA","szoscar55");
print $code;
print " \n";
print "_test_end \n ";
?>

以下给出完整代码示例,请参考使用:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ST DB Test</title>
</head>
<body>
<h1 align="center">Connect DB Test</h1>
<?php
//
// 数据库操作函数
//
function deleteAll($conn, $table)
{
$sql = 'DELETE FROM '.$table.' WHERE 1=1';
odbc_exec($conn, $sql);
}
function showAll($conn, $table)
{
$sql = 'SELECT id, bID, bName FROM '.$table;
$rs = odbc_do($conn, $sql);
print '<table border="1">';
print '<tr><td>'.odbc_field_name($rs, 1).'</td><td>'.odbc_field_name($rs, 2).'</td><td>'.odbc_field_name($rs, 3).'</td></tr>';
while(odbc_fetch_row($rs))
{
print '<tr>';
print '<td>'.odbc_result($rs, 'id').'</td>';
print '<td>'.odbc_result($rs, 'bID').'</td>';
print '<td>'.odbc_result($rs, 'bName').'</td>';
print '</tr>';
}
print '</table>';
}
function insertTestData($conn)
{
static $i = 0;
for($j = 0; $j < 10; $j++)
{
$insertSql = 'INSERT INTO book (bID, bName) VALUES (\'ISBN 7-5325-2480-'.$i.'\',\'测试'.$i++.'\')';
odbc_exec($conn, $insertSql);
}
}
function createTable($conn)
{
$tableRs = odbc_tables($conn, null, null, 'book', 'TABLE');
if(odbc_fetch_row($tableRs) )
{
return 'table already exists.';
}
$createSql =
('CREATE TABLE book'.
'('.
'id serial PRIMARY KEY,'.
'bID VARCHAR(30) NOT NULL,'.
'bName VARCHAR(30) NOT NULL'.
')'
);
odbc_do($conn, $createSql);
return 'table created!';
}
//
// 测试流程
//
print '<pre>connecting db....</pre>';
$conn = odbc_connect ("ST" , "sysdba", "szoscar55", SQL_CUR_USE_ODBC ) or die('fail to connect db');
/**
 * 建表并显示结果
 */
print createTable($conn).'<br>';
print "Table is :<br>";
$tableRs = odbc_tables($conn, null, null, 'book', 'TABLE');
while(odbc_fetch_row($tableRs))
{
print odbc_result($tableRs, 'TABLE_NAME').'<br>';
}
/**
 * 插入测试数据
 */
insertTestData($conn);
print '<hr>插入的数据: <br>';
showAll($conn, 'book');
/**
 * 删除数据
 */
deleteAll($conn, 'book');
print '删除所有数据之后: <br>';
showAll($conn, 'book');
/**
 * 关闭数据连接
 */
odbc_close ( $conn );
?>
</body>
</html>