2010-02-12 30 views

回答

2

我會讓Pervasvive知道自己需要改變任何數據庫例子。我在那裏有一些聯繫。至於從Linux機箱使用PSQL,您沒有提及您使用的是什麼版本的PSQL,但您需要Linux的PSQL客戶機。以下是我之前用來測試從Linux(和WIndows)上的PHP到PSQL服務器的連接的示例。在odbc_connect中,「Demodata」是ODBC DSN名稱。另外兩個參數是用戶名和密碼。您需要在PHP中編譯(或啓用)ODBC。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<HTML> 
<HEAD> 
<TITLE>PHP Sample</TITLE> 
</HEAD> 
<BODY> 
<?php 
$conn=odbc_connect("Demodata","","",""); 
$sql="select * from class"; 
$rs=odbc_exec($conn,$sql); 
echo "<table border=1>\n"; 
$numfields = odbc_num_fields($rs); 
for($i=1;$i<=$numfields;$i++){ 
    $fn=odbc_field_name($rs,$i); 
    echo "<th>$fn</th>"; 
} 
echo "\n"; 
while(odbc_fetch_row($rs)){ 
    echo "<tr>\n"; 
    for($i=1;$i<=$numfields;$i++){ 
     $fv=odbc_result($rs,$i); 
     echo "<td>$fv</td>"; 
    } 
    echo "</tr>\n"; 
} 
echo "</table>\n"; 
echo "<p>Number of Fields: $numfields</p>\n"; 
?> 
</BODY> 
</HTML> 
0

如果你能普適服務器上安裝的東西,你可以嘗試使用odbtp。它是服務器上的ODBC驅動程序與可在Linux或Windows上運行的客戶端之間的橋樑。從here取自php的查詢示例是

<?php 

$con = odbtp_connect('odbtp.somewhere.com', 
         'DRIVER={SQL Server};SERVER=myserver;UID=myuid;PWD=mypwd;DATABASE=mydb;') or die; 

odbtp_set_attr(ODB_ATTR_FULLCOLINFO, TRUE); 

$qry = odbtp_query($_REQUEST['query']) or die; 

do { 
    if(($msg = odbtp_get_message($qry))) { 
     echo "MESSAGE: $msg<p>"; 
     continue; 
    } 
    if(($cols = odbtp_num_fields($qry)) == 0) { 
     echo odbtp_affected_rows($qry); 
     echo " rows affected<p>\n"; 
     continue; 
    } 
    echo "<table cellpadding=2 cellspacing=0 border=1>\n"; 
    echo "<tr>"; 
    for($col = 0; $col < $cols; $col++) { 
     echo "<td><nobr> " . odbtp_field_name($qry, $col); 
     echo " (" . odbtp_field_type($qry, $col) . ") </nobr></td>"; 
     if(odbtp_field_bindtype($qry, $col) == ODB_DATETIME) 
      odbtp_bind_field($qry, $col, ODB_CHAR); 
    } 
    echo "</tr>\n"; 

    while(($rec = odbtp_fetch_array($qry))) { 
     echo "<tr>"; 
     for($col = 0; $col < $cols; $col++) { 
      if(is_null($rec[$col])) $rec[$col] = "NULL"; 
      echo "<td><nobr> $rec[$col] </nobr></td>"; 
     } 
     echo "</tr>\n"; 
    } 
    echo "</table><p>\n"; 

    echo odbtp_affected_rows($qry); 
    echo " rows affected<p>\n"; 
} 
while(odbtp_next_result($qry)); 

odbtp_close(); ?>