У меня есть пример кода PHP, который будет извлекать данные из базы данных MYSQL через драйвер ODBC на компьютере с Linux (CentOS).
Я создал DSN и могу подключиться через следующую команду
isql -v
Но когда я пытаюсь использовать тот же DSN через код PHP, я получаю сообщение «Нет доступных кортежей с этим индексом результата», из-за которого невозможно прочитать данные из базы данных через конфигурацию PHP APACHE.
Если кто-то предоставит решение, для меня будет более полезным продолжить.
Ниже приведен мой пример кода и другие детали, пожалуйста, исправьте, если что-то не так, ниже детали конфигурации -
Ниже приведен пример кода PHP:
<?php
$conn = odbc_connect("DSN", "username", "password");
$sql = 'select * from tablename';
$rs = odbc_exec($conn,$sql);
echo "<table><tr>";
echo "<th>User Name</th></tr>";
while(odbc_fetch_row($rs)) {
$user = odbc_result($rs,"fieldname");
echo "<tr><td>$user</td></tr>";
}
odbc_close($conn);
echo "</table>";
?>
Ниже находится файл odbc.ini:
[DSN]
Description = MySQL ODBC Database
DRIVER = MySQL
TraceFile = /tmp/odbcerr.log
SERVER = 127.0.0.1
PORT = 3306
USER = username
PASSWORD = password
DATABASE = database
OPTION = 3
SOCKET = /var/lib/mysql/mysql.sock
Ниже приведен файл odbcinst.ini:
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc5.so
Setup = /usr/lib/libodbcmyS.so
FileUsage = 1
UsageCount = 3