За последние 24 часа нас посетили 21596 программистов и 1603 робота. Сейчас ищут 1168 программистов ...

Работа с ODBC

Тема в разделе "PHP для новичков", создана пользователем stakanych, 12 май 2009.

  1. stakanych

    stakanych Активный пользователь

    С нами с:
    27 янв 2009
    Сообщения:
    62
    Симпатии:
    0
    Приветствую всех! Вот начал изучать работу с базами данных - и начал с ODBC (вернее необходимо использовать данные в аксессе как базу данных) нашел в одном из учебников шаблон кода - но он у меня как то не работает... (Администрирование источников данных ODBC я поправил)
    Вот такой код мне предложили в учебнике:

    PHP:
    1.  
    2. <?php
    3.  
    4. // Подключиться к источнику данных ODBC 'ContactDB' ;
    5. $connect = odbc_connect("contacts", "","");
    6.  
    7. //or die("Couldn't connect to datasource.");
    8.  
    9. // Создать текст запроса
    10.  
    11. $query = "name, famil, adres, phohe";
    12.  
    13. // Подготовить запрос
    14.  
    15. $result = odbc_prepare($connect, $query);
    16.  
    17. // Выполнить запрос и вывести результаты
    18.  
    19. odbc_execute($result);
    20.  
    21. odbc_result_all($result, "BGCOLOR='#c0c0c0' border=1");
    22.  
    23. // Обработка результатов закончена, освободить память
    24.  
    25. // Закрыть соединение
    26. odbc_close($connect);
    27.  
    28. ?>
    29.  
    Выдает вот такие ошибки... не совсем понимаю чего надо сделать...
    Warning: odbc_prepare() [function.odbc-prepare]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Ошибочная инструкция SQL; предполагалось 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' или 'UPDATE'., SQL state 37000 in SQLPrepare in Z:\home\cd.ru\www\bd_smotr.php on line 14

    Warning: odbc_execute(): supplied argument is not a valid ODBC result resource in Z:\home\cd.ru\www\bd_smotr.php on line 18

    Warning: odbc_result_all(): supplied argument is not a valid ODBC result resource in Z:\home\cd.ru\www\bd_smotr.php on line 20

    Warning: odbc_free_result(): supplied argument is not a valid ODBC result resource in Z:\home\cd.ru\www\bd_smotr.php on line 23
     
  2. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Я хоть никогда и не работал с этими инструкциями, но также полагаю, согласно стандартам SQL, что $query неправильный, а ошибка это только подтверждает.
    Попробуйте:

    PHP:
    1. <?php
    2.  
    3. // Code
    4. $query = "SELECT name, famil, adres, phohe FROM имя_таблицы";
    5.  
    6. ?>
     
  3. stakanych

    stakanych Активный пользователь

    С нами с:
    27 янв 2009
    Сообщения:
    62
    Симпатии:
    0
    Да спасибо, только отправил пост и сам увидел эту ошибку - пошел править и увидел Ваш пост.... но после правки все равно корректно не работает - выдает теперь вот такую ошибку :
    Warning: odbc_execute() [function.odbc-execute]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Слишком мало параметров. Требуется 1., SQL state 07001 in SQLExecute in Z:\home\cd.ru\www\bd_smotr.php on line 18
    No rows found

    Что за драйвер и каких параметров мало понять не могу...
     
  4. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    По-идее "SELECT * FROM таблица" должно хватить для любого запроса.
    Честно, не знаю, но посмотрев на примеры запросов в интернете к этой БД, они практически идентичны в синтаксисе SELECT, INSERT, DELETE
     
  5. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
  6. stakanych

    stakanych Активный пользователь

    С нами с:
    27 янв 2009
    Сообщения:
    62
    Симпатии:
    0
    c драйвером вроде разобрались... но по прежнему выдает ошибку на функции odbc_result_all и odbc_free_result такого вида -
    Warning: odbc_result_all(): supplied argument is not a valid ODBC result resource in Z:\home\cd.ru\www\bd_smotr.php on line 40

    Warning: odbc_free_result(): supplied argument is not a valid ODBC result resource in Z:\home\cd.ru\www\bd_smotr.php on line 42

    скрипт такой:

    PHP:
    1.  
    2. $connect = odbc_connect("contacts", "user", "secret")
    3.  
    4. or die("Could not connect to ODBC database");
    5.  
    6. print "Currently connected to ODBC database!";
    7.  
    8. $query = 'SELECT name FROM contacts';
    9.  
    10. $result = odbc_prepare($connect, $query);
    11.  
    12. $result = odbc_execute($result);
    13.  
    14. $result_all = odbc_result_all($result, "BGCOLOR='#c0c0c0' border='1'");
    15.  
    16.  
    17. odbc_close($connect);
    18.  
    19.