2016-07-13 2 views
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 года, я действительно сомневаюсь, что люди все еще используют что-либо перед этим. –

+0

И я не вижу код, который создает соединение в вашем примере –

+0

Привет, Он не дает ошибку, код моего подключения: $ conn = odbc_connect ($ data_source, $ user, $ password); if (! $ Conn) { if (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 имеет решающее значение здесь.

Смежные вопросы