За последние 24 часа нас посетили 18873 программиста и 1624 робота. Сейчас ищут 909 программистов ...

PHP и база данных ACCESS

Тема в разделе "PHP и базы данных", создана пользователем RealFlush, 17 окт 2015.

  1. RealFlush

    RealFlush Новичок

    С нами с:
    17 окт 2015
    Сообщения:
    6
    Симпатии:
    0
    Доброго времени суток.
    Есть база данных в access. Она обновляется несколько раз за день.
    Код (PHP):
    1. <?php
    2.  $x=odbc_connect("OC","","") or die ("Couldn't connect to database"); 
    3.  $query="";
    4. //Запрос выводит около 500 тысяч строк
    5. $res=odbc_prepare($x,$query);
    6.  
    И мне желательно сохранить этот массив строк для последующей работы с ним.
    Может, экспортировать в MySQL, но тогда мне придется при каждом обновлении базы заново экспортировать данные? Как лучше поступить?

    PHP, JavaScript, SQL и другой код пишите внутри тегов
    Код ( (Unknown Language)):
    1. [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    с мускулом быстрее будет работать. так что да, порекомендую экспорт если не надо из пхп обновлять саму аксесовскую базу
     
  3. RealFlush

    RealFlush Новичок

    С нами с:
    17 окт 2015
    Сообщения:
    6
    Симпатии:
    0
    Так, с импортом разобрался.
    еще вопрос.
    Необходимо вставить в новую таблицу эти 500К строк.
    Код (PHP):
    1. $sql="create table if not exists matches_wta (id1 int, id2 int, name1 text, name2 text, result_m text, tours text, date_t date, round_t text, rank_t int )";
    2. $result = mysql_query($sql); // отправляем запрос 
    3. // выводим сообщение успешно ли выполнен запрос
    4. if (!$result) echo " Error"; 
    5.     else echo "Success!<br>"; 
    6. $sql="insert into matches_wta (id1, id2, name1, name2, result_m, tours, date_t, round_t, rank_t)  (SELECT ****";
    7. $result = mysql_query($sql); // отправляем запрос   
    И где-то на середине выполнения запроса выдается ошибка:
    Код (PHP):
    1. Fatal error: Maximum execution time of 30 seconds exceeded
    При этом отдельно существующей таблицы в access для прямой вставки нет.
    Может быть, отдельно создать таблица в аксессе и потом её импортировать? Но это какие-то танцы с бубном будут. Сначала создать таблицу, затем импортировать все таблицы в мускул. :(
    Может, есть какой-то другой вариант.
    В вба всё намного проще получается.
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    есть пара вариантов: 1 - разрешить самому веб-серверу выполнять скрипт импорта столько сколько нужно и 2 - загрузить вебсервером да, но обрабатывать отдельной командой у которой не будет лимита времени.