+ Ответить в теме
Показано с 1 по 27 из 27
  1. #1

    SQLite запросы в DS

    Ситуация:
    Пишу программу работающая с базами данных SQLite и столкнулся с тем, что вылетает одна и та же ошибка...
    sqlite_query() expects parameter 1 to be resource, string given.
    Код запроса из программы:
    // Работа с БД
    $db_pswd = sqlite_open("dbpswd.db");
    $account_tab = "CREATE TABLE account
    (login TEXT PRIMARY KEY,
    password TEXT,
    question TEXT,
    answer TEXT
    )";
    sqlite_query($db, $account_tab);
    $write_reg_data = sqlite_query($db,
    "INSERT INTO account(login, password, question, answer) VALUES ('$login', '$password', '$question', '$answer')"
    );
    // ======================================

  2. #2
    А переменная $db где определяется?

  3. #3
    Новичок
    Регистрация
    06.10.2010
    Сообщений
    13
    $db = sqlite_open("base.db");
    $res = sqlite_query($db,"SELECT * FROM marka");
    Помогите, пишет что такой таблицы не существует.
    что делаю не правильно?

  4. #4
    Главный Разработчик Аватар для Devel
    Регистрация
    11.03.2010
    Сообщений
    1,231
    $db наверно спутал с $db_pswd.

    $db = sqlite_open("dbpswd.db");

  5. #5
    Новичок
    Регистрация
    06.10.2010
    Сообщений
    13
    Devel
    спасибо.. не понятно почему..
    но всё было нормально, удалил все проекты и всё заработало..

    подскажите, как добавлять в базу..
    через форму edit и кнопку
    примерчик. если можно...
    статей бы побольше,
    под веб всё попроще..
    тут пока, что-то не вкурю

  6. #6
    Новичок
    Регистрация
    06.10.2010
    Сообщений
    13
    Подскажите..
    работаю с sqlite
    pic_1
    добавляю, текст в базу но он не отображается..
    видно его становится после перезагрузки программы
    pic_2
    как сделать, перезагрузку программы сразу, чтоб текст добавлялся не выходя из программы
    Последний раз редактировалось PyMbIH; 17.10.2010 в 20:26.

  7. #7
    Новичок
    Регистрация
    06.10.2010
    Сообщений
    13
    Подскажите.
    Ну, как обновить форму ListBox после добавления .?

  8. #8
    Супер Модератор Аватар для xsnakes
    Регистрация
    14.03.2010
    Адрес
    Пятигорск
    Сообщений
    2,292
    Цитата Сообщение от PyMbIH Посмотреть сообщение
    Подскажите.
    Ну, как обновить форму ListBox после добавления .?
    Также как и в первый раз добавлял! Прогу что за тебя делали?
    Тупо присваиваешь свойству ->text нужные значения!

  9. #9
    Новичок
    Регистрация
    06.10.2010
    Сообщений
    13
    Цитата Сообщение от xsnakes Посмотреть сообщение
    Также как и в первый раз добавлял! Прогу что за тебя делали?
    Тупо присваиваешь свойству ->text нужные значения!
    Нет, пишу я её сам )))
    добавлять, не проблема..
    вот только, чтоб видно было сразу, что добавил, проблема..
    Последний раз редактировалось PyMbIH; 18.10.2010 в 16:12.

  10. #10
    Новичок
    Регистрация
    06.10.2010
    Сообщений
    13
    xsnakes
    спасибо..
    всё получилось ))

  11. #11
    Ученик Аватар для Akulenok
    Регистрация
    28.12.2010
    Адрес
    localhost
    Сообщений
    87
    подскажите sqlite manager для работы с бд, которую создал в devel studio, качал с инета разные, они даже открыть базу не могут, наверно из-за разных версий?

  12. #12
    Odinnv:что бы показать код делай так
    Код:
    code
    теги [code]тут добавь текст символ[ и все токо символк в конце/code]
    Последний раз редактировалось winz; 22.01.2011 в 18:50.
    Люби меня как розу воду,А я КАК ВОР ЛЮБИТ СВОБОДУ

  13. #13
    Цитата Сообщение от Akulenok Посмотреть сообщение
    подскажите sqlite manager для работы с бд, которую создал в devel studio, качал с инета разные, они даже открыть базу не могут, наверно из-за разных версий?
    мне это тоже интересно, не могу менеджера подобрать, они не могут открыть базу

  14. #14
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    Цитата Сообщение от Stape Посмотреть сообщение
    мне это тоже интересно, не могу менеджера подобрать, они не могут открыть базу
    http://www.sqlmaestro.com/products/sqlite/maestro/

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

  15. #15
    эту пробовал тоже
    если просто выполнить

    PHP код:
      $db sqlite_open("my_database.db");] 
    база создается, открывается другими менеджерами.

    Если выполнить ниже код, маестро пишет не могу открыть базу данных

    PHP код:
      // Создадим новую базу данных
      
    $db sqlite_open("my_database.db");
      if (!
    $db) exit("Невозможно создать базу данных!");
      
    pre("База успешно создана!");
      
    // Создадим таблицу "table1" в базе
      
    $query_table sqlite_query($db"CREATE TABLE table1
                                  (id INTEGER PRIMARY KEY,
                                   /* id автоматически станет автоинкрементным */
                                   field1 TEXT,
                                   field2 TEXT);
                                  "
    );
      if (!
    $query_table) exit("Невозможно создать таблицу в базе данных!");
      
    // Запишем что-нибудь в таблицу
      
    sqlite_query($db"INSERT INTO table1(field1, field2) VALUES ('PHP5+', 'Apache');");
      
    sqlite_query($db"INSERT INTO table1(field1, field2) VALUES ('SQLite – ', 'классная вещь');");
      
    sqlite_query($db"INSERT INTO table1(field1, field2) VALUES ('Посетите ', 'sqlite.org');");
      
    // Сделаем выборку данных
      
    $res sqlite_query($db"SELECT * FROM table1;");
      
    // В цикле выведем все полученные данные
      
    while ($array sqlite_fetch_array($res))
      {
       
    $arr[]=$array['field1'].$array['field2']." (id записи:".$array['id'].")";
      } 

  16. #16
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    Значит не правильный тип базы данных или версию выбираете. У меня sqlite maestro всё отлично открывает.

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

  17. #17
    Нашел проблему, оказалось если проект находиться в папке с Русскими буквами, оттуда Маестро не может прочитать, причем когда база пустая без таблиц, он ее открывает ))
    Вообщем переименовал папки на латиницу, стало все нормально. (два дня убил на поиски причин )

  18. #18
    Подскажите, как защитить файл базы?
    обычным блокнотом открывается и можно изменить инфу в файле, такой вариант не устраивает.

  19. #19
    Цитата Сообщение от Артур Посмотреть сообщение
    Подскажите, как защитить файл базы?
    обычным блокнотом открывается и можно изменить инфу в файле, такой вариант не устраивает.
    Шифровать файл
    http://pxeboot.narod.ru/
    Использую DevelStudio version 2.0.0.9 plus

  20. #20
    не вариант, т.к. с ним будет постоянная работа.
    в мускуле есть функция mysql_connect, требующая логин и пассворд, неужели в sqlite нельзя подключаться по аналогичной схеме?
    при создании базы sqlite через Maestro - можно задать пароль к базе. как это сделать через DS ?

  21. #21
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    Цитата Сообщение от Артур Посмотреть сообщение
    не вариант, т.к. с ним будет постоянная работа.
    в мускуле есть функция mysql_connect, требующая логин и пассворд, неужели в sqlite нельзя подключаться по аналогичной схеме?
    при создании базы sqlite через Maestro - можно задать пароль к базе. как это сделать через DS ?
    Точно также, но вам понадобится sqlite версии 3, а он появился в DS только с DS3 версии. Там нет паролей но можно шифровать саму базу при помощи ключа шифрования, это ещё лучше пароля, вот читайте вобщем: http://www.php.net/manual/ru/sqlite3.open.php

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

  22. #22
    Пользователь
    Регистрация
    22.06.2011
    Сообщений
    119
    Цитата Сообщение от vGhost Посмотреть сообщение
    Точно также, но вам понадобится sqlite версии 3, а он появился в DS только с DS3 версии. Там нет паролей но можно шифровать саму базу при помощи ключа шифрования, это ещё лучше пароля, вот читайте вобщем: http://www.php.net/manual/ru/sqlite3.open.php
    Вопрос в том - как работать в альфе с sqlite?
    $db = new SQLite3('test.db');
    или
    $db = new SQLite3:pen('test.db');
    не работает.

    Да и про попытке подключения php_sqlite3.dll - вываливаются ошибки связанные с php5ts.dll
    И да, про php_pdo_sqlite.dll помню. Пробовал и с ним и без =/
    Последний раз редактировалось Kolgarn; 24.02.2012 в 08:58.

  23. #23
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    Цитата Сообщение от Kolgarn Посмотреть сообщение
    Вопрос в том - как работать в альфе с sqlite?
    Вот так:
    PHP код:
    $db = new SQLite3('mysqlitedb.db'SQLITE3_OPEN_READWRITE SQLITE3_OPEN_CREATE);

    $db->exec('CREATE TABLE foo (bar STRING)');
    $db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

    $result $db->query('SELECT bar FROM foo');
    var_dump($result->fetchArray()); 

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

  24. #24
    Пользователь
    Регистрация
    22.06.2011
    Сообщений
    119
    Цитата Сообщение от vGhost Посмотреть сообщение
    Вот так:
    PHP код:
    $db = new SQLite3('mysqlitedb.db'SQLITE3_OPEN_READWRITE SQLITE3_OPEN_CREATE);

    $db->exec('CREATE TABLE foo (bar STRING)');
    $db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");

    $result $db->query('SELECT bar FROM foo');
    var_dump($result->fetchArray()); 
    Идея понятна - вопрос исключительно в том теперь - как подключить dll'ку? c учетом того, что она не подключается.
    Хотя... снял отладку и что-то начало работать оО странно.
    Хотя вру. Теперь другая ошибка попросту
    Правда pdo так же - ни в какую
    Последний раз редактировалось Kolgarn; 24.02.2012 в 09:58.

  25. #25
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    Погодите, вы её что ручками подключаете?

    Не надо делать глупостей, главное меню студии, настройки проекта, пхп модули, выставить галочку напротив sqlite3 и всё!

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

  26. #26
    Пользователь
    Регистрация
    22.06.2011
    Сообщений
    119
    Цитата Сообщение от vGhost Посмотреть сообщение
    Погодите, вы её что ручками подключаете?

    Не надо делать глупостей, главное меню студии, настройки проекта, пхп модули, выставить галочку напротив sqlite3 и всё!
    Именно через меню и подключаю.
    Ошибки валятся все-равно.

    up. Так работоспособна SQLite3 в DS3 или нет?)
    В моем случае ни в какую базу не хочет открывать.

  27. #27
    Админ Аватар для vGhost
    Регистрация
    27.07.2011
    Адрес
    Самара
    Сообщений
    2,033
    1) SQLite3 прекрасно работоспособна, исправляйте руки.
    2) SQLite3 не является частью DS, она является частью PHP и к DS никакого отношения не имеет.
    http://community.develstudio.ru/show...ll=1#post37672

    __________________________________________________ ________
    Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
    Для новичков
    __________________________________________________ ________
    Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения