Предупреждение / ошибка: - Нет доступных кортежей с этим индексом результатов PHP-APACHE-ODBC-MYSQL-CENTOS - PullRequest
0 голосов
/ 12 марта 2011

У меня есть пример кода 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

1 Ответ

1 голос
/ 12 марта 2011

Комментарии в документации для odbc_connect предполагают, что это может быть вызвано использованием неправильного типа курсора. Попробуйте каждое из трех возможных значений в качестве четвертого аргумента: SQL_CUR_USE_IF_NEEDED, SQL_CUR_USE_ODBC или SQL_CUR_USE_DRIVER.

Мне очень любопытно, почему вы используете ODBC для подключения к MySQL. У PHP есть много лучших способов чтения из MySQL, включая превосходный PDO класс (который сам может подключаться через ODBC при необходимости).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...