Я работаю с подключением ODBC, а не MySQL. У меня есть функция поиска, которую я более или менее скопировал, чтобы применить ее к моему соединению ODBC, однако они не работают. Вот мой код, кроме соединения:
<!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>   <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>
Поскольку я не получаю сообщение об ошибке, я знаю, что мое соединение работает, однако в настоящее время, когда я нажимаю кнопку, данные не отображаются должным образом … Пожалуйста, помогите! Спасибо
Обнаружено, что при подключении 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 была здесь решающей.
Других решений пока нет …