与Firebird数据库的PHP连接

时间:2018-05-02 04:15:28

标签: php linux firebird firebird2.5 interbase

我是php的新手。

我正在尝试编写一个简单的内部网站,查看用户输入的作业编号,如果存在,则返回该客户。 (如果您愿意,请进行验证)。

当在PC上使用Windows ODBC驱动程序为firebird设置WAMP时,它可以正常工作。但是当使用php5-interbase - interbase / firebird模块为php5设置专用的linux服务器时,它不起作用。没有错误,只需清除屏幕。

任何人都可以帮助解决它出错的地方。我认为这是连接,但这对我来说都是新的。

<?php
error_reporting(0); 
$jobNumber = $_POST['jobNumber'];

if ($_POST['clear'])
{
    $jobNumber="";
    $message1="";
}
if ($_POST['enquire']) 
{
    $dsn = 'DSN=Ostendo Wyma;Driver={Firebird/InterBase(r) driver};Dbname=//Orcus/C:/Program Files (x86)/Ostendo/Database/Ostendo.fdb;CHARSET=NONE;UID=SYSDBA;' ;
    $dbh = odbc_connect($dsn, '', '') ;
    $sqlstr = "SELECT (CUSTOMER || ' ' || ORDERDESCRIPTION) AS " .'"Result"' . " FROM JOBHEADER WHERE ORDERNUMBER = '" .$jobNumber ."' AND ORDERSTATUS <> 'Closed'" ;
    $sqlstr .= ' UNION ';
    $sqlstr .= "SELECT ITEMDESCRIPTION AS " .'"Result"' . " FROM ASSEMBLYHEADER WHERE ORDERNUMBER = '" .$jobNumber ."' AND ORDERSTATUS <> 'Closed'";
    $sth = odbc_exec($dbh, $sqlstr) ;
    $t = odbc_fetch_row($sth) ;
    $result = odbc_result($sth, 'Result') ;
    $message1 = $jobNumber . " Returns " .$result;
}
?>
<html>
<style>
    body 
    {
        font-family:arial;
        font-size:12;
    }
</style>
<title>Ostendo Test</title>
<form action="" method="POST">
    <body>
        <table border = 3>
            <tr>
                <td> Assembly/Job Number: </td>
                <td> <input type=text name=jobNumber value="<?php echo $jobNumber;?>" size="50" autofocus>
            </tr>
        <tr>
            <td colspan = 3>
                <input type="submit" name="enquire" value="Validate">
                <input type="submit" name="clear" value="Clear">
            </td>
        </tr>
    </table>
</form>
<?php
echo "<br><br>";
echo "<font face='arial' size='4'>";
echo $message1;
echo "</font>";
?>   
</body>
</html>

我禁用了错误报告(即更改为0到1)并且没有更改或错误消息。然后我完全删除了该行,并且再次没有更改或错误消息。

我打开PHP错误处理并在刷新页面时得到以下信息:

Notice: Undefined index: jobNumber in /var/www/Enquire.php on line 2
Notice: Undefined index: clear in /var/www/Enquire.php on line 4
Notice: Undefined index: enquire in /var/www/Enquire.php on line 9

(然后在方框/表格下面我得到了以下错误信息)

Notice: Undefined variable: message1 in /var/www/Enquire.php on line 49

这让我觉得我没有正确地声明一些变量。 ?

当我输入有效的职位参考时,我现在得到以下内容:

注意:未定义的索引:在第4行的/var/www/Enquire.php中清除

致命错误:在第12行的/var/www/Enquire.php中调用未定义的函数odbc_connect()

所以我想这与我如何连接FB数据库有关。

0 个答案:

没有答案