PHP 无孔不入 SQL 连接
PHP Pervasive SQL connection
我正在将 PHP 连接到 Pervasive SQL,并且连接不断重置
此连接在 Windows Server 2012 上使用 Apache 2.4 上的 PHP7。我已经创建了DNS连接,测试可以成功连接数据库
<?php
$conn=odbc_connect("brps","","");
if(!$conn) die("Could not connect");
?>
以下代码在 x64 环境中适用于我,使用 PHP 7.31 并在 PHP.INI 中启用了 ODBC 扩展。我还使用连接到远程 PSQL v11 服务器的 v11.30 x64 客户端。
<?php
$conn=odbc_connect("brpp","","");
if(!$conn) die("Could not connect");
$result = odbc_tables($conn);
echo '<div id="top">..</div><table border="1" cellpadding="5"><tr>';
$tblRow = 1;
while (odbc_fetch_row($result)){
if(odbc_result($result,"TABLE_TYPE")=="TABLE"){
$tableName = odbc_result($result,"TABLE_NAME");
echo '<tr><td>' . $tblRow . '</td><td><a href="#' . $tableName . '">' . $tableName . '</a></td></tr>';
$tblRow++;
}
}
echo '</table><hr>';
$result = odbc_tables($conn);
while (odbc_fetch_row($result)){
if(odbc_result($result,"TABLE_TYPE")=="TABLE"){
$tableName = odbc_result($result,"TABLE_NAME");
echo '<div id="' . $tableName . '"> *** ' . $tableName . ' *** <a href="#top">top</a></div>';
$cols = odbc_exec($conn, "SELECT * FROM $tableName WHERE 1=2");
$ncols = odbc_num_fields($cols);
for ($n=1; $n<=$ncols; $n++) {
$field_name = odbc_field_name($cols, $n);
echo $field_name . "<br>";
}
echo '<hr>';
}
}
?>
如果 DSN 不存在,我会得到一个错误:
Warning: odbc_connect(): SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in C:\Wnmp\html\phpodbc.php on line 2
Could not connect
我在安装 PSQL x64 客户端后收到系统错误 998。重新启动机器修复了该错误。
我正在将 PHP 连接到 Pervasive SQL,并且连接不断重置
此连接在 Windows Server 2012 上使用 Apache 2.4 上的 PHP7。我已经创建了DNS连接,测试可以成功连接数据库
<?php
$conn=odbc_connect("brps","","");
if(!$conn) die("Could not connect");
?>
以下代码在 x64 环境中适用于我,使用 PHP 7.31 并在 PHP.INI 中启用了 ODBC 扩展。我还使用连接到远程 PSQL v11 服务器的 v11.30 x64 客户端。
<?php
$conn=odbc_connect("brpp","","");
if(!$conn) die("Could not connect");
$result = odbc_tables($conn);
echo '<div id="top">..</div><table border="1" cellpadding="5"><tr>';
$tblRow = 1;
while (odbc_fetch_row($result)){
if(odbc_result($result,"TABLE_TYPE")=="TABLE"){
$tableName = odbc_result($result,"TABLE_NAME");
echo '<tr><td>' . $tblRow . '</td><td><a href="#' . $tableName . '">' . $tableName . '</a></td></tr>';
$tblRow++;
}
}
echo '</table><hr>';
$result = odbc_tables($conn);
while (odbc_fetch_row($result)){
if(odbc_result($result,"TABLE_TYPE")=="TABLE"){
$tableName = odbc_result($result,"TABLE_NAME");
echo '<div id="' . $tableName . '"> *** ' . $tableName . ' *** <a href="#top">top</a></div>';
$cols = odbc_exec($conn, "SELECT * FROM $tableName WHERE 1=2");
$ncols = odbc_num_fields($cols);
for ($n=1; $n<=$ncols; $n++) {
$field_name = odbc_field_name($cols, $n);
echo $field_name . "<br>";
}
echo '<hr>';
}
}
?>
如果 DSN 不存在,我会得到一个错误:
Warning: odbc_connect(): SQL error: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified, SQL state IM002 in SQLConnect in C:\Wnmp\html\phpodbc.php on line 2
Could not connect
我在安装 PSQL x64 客户端后收到系统错误 998。重新启动机器修复了该错误。