php
  • sql
  • odbc
  • odbc-sql-server-driver
  • 2016-07-13 36 views 1 likes 
    1

    我正在使用ODBC連接而不是MySQL。我有一個搜索功能,我已經或多或少地複製到應用我的ODBC連接,但他們不工作。這裏是我的代碼除了連接:ODBC查詢不能與PHO一起工作

    <!doctype html> 
    <html> 
    <title> Quoting System </title> 
    <head> 
    </head> 
    <body> 
    
    <form class="form" method="POST" action='try31.php'> 
         Quote Number <input class="form-control" type="text" name="quote" id="quote" placeholder="Enter Quote Number"> 
         <br> &nbsp <input class="btn btn-default" type="submit" name="search" value="Search"> 
    </form>  
    
    <table> 
        <tr> 
         <th>Company Name</th> 
         <th>Address1</th> 
         <th>Address2</th> 
        </tr> 
    
    <?php 
    
        if (!$conn){ 
        if (phpversion() < '4.0'){ 
         exit("Connection Failed: . $php_errormsg"); 
        } 
        else{ 
         exit("Connection Failed:" . odbc_errormsg()); 
        } 
    } 
    
    if(isset($_POST['search'])){ 
    $quote = $_POST['quote']; 
    $query = "SELECT * FROM dbo.tblVersions2 WHERE QuoteNumber LIKE '".$quote."'"; 
    } 
    
    $result = odbc_exec($conn,$query); 
    
        while($row =odbc_fetch_row($result)){ 
         echo "<tr>"; 
          echo "<td>".$row[2]."</td>"; 
          echo "<td>".$row[3]."</td>"; 
          echo "<td>".$row[4]."</td>"; 
         echo "</tr>"; 
    } 
    
    
    
    // Disconnect the database from the database handle. 
    //odbc_close($conn); 
    
    ?> 
    </table> 
    </body> 
    </html> 
    

    由於我沒有得到一個錯誤信息,我知道我的連接工作,但目前,當我選擇按鈕,如預期的數據不會出現.. 。 請幫忙!謝謝

    +0

    它會給你什麼錯誤嗎?在ODBC下使用什麼數據庫?你試圖運行什麼系統? '(phpversion()<'4.0')'PHP 4.0於2000年5月發佈,我真的懷疑人們在它之前仍然使用任何東西。 –

    +0

    而我沒有看到在您的示例中創建連接的代碼 –

    +0

    嗨,它不會給出錯誤我的連接代碼是:$ conn = odbc_connect($ data_source,$ user,$ password);如果(phpversion()<'4.0'){exit(「Connection Failed:。$ php_errormsg」); } else { exit(「Connection Failed:」。odbc_errormsg()); } } if($ conn){ \t echo「Connected。」; } – blackman96

    回答

    0

    發現與MS SQL ODBC連接的查詢語法不同於MySQL。我改變了從表格中調用我的列的位置:

    $ result = odbc_exec($ conn,$ query);

    while($row =odbc_fetch_row($result)){ 
        echo "<tr>"; 
         echo "<td>".$row[2]."</td>"; 
         echo "<td>".$row[3]."</td>"; 
         echo "<td>".$row[4]."</td>"; 
        echo "</tr>"; 
    

    }

    要這樣:

    $result = odbc_exec($conn, $stmt); 
    
        while (odbc_fetch_row($result)) // while there are rows 
        { 
        echo "<tr>"; 
         echo "<td>" . odbc_result($result, "CompanyName") . "</td>"; 
         echo "<td>" . odbc_result($result, "Address1") . "</td>"; 
        echo "</tr>"; 
        } 
    

    的odbc_result功能是至關重要的位置。

    相關問題