Здесь задаем вопросы касаемо хранения информации, баз данных (как файловых, так и sql-ных).
Напоминаем, что эта тема для новичков.
Здесь задаем вопросы касаемо хранения информации, баз данных (как файловых, так и sql-ных).
Напоминаем, что эта тема для новичков.
Прошу прощения !!
Не пишет ничего !! В этом то и дело !! Если бы ошибку писал, были бы попытки поиска и выхода из положения !!!
А сейчас остаётся надежда на Вас !!
Может есть другой синтаксис для подключения !!!
Последний раз редактировалось vGhost; 14.11.2011 в 00:02.
Тык может он исправно подключился? С чего вы тогда вообще взяли что он не подключается то? Раз нет сообщений об ошибках.
Последний раз редактировалось vGhost; 14.11.2011 в 00:04.
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
Дык по идее должен выдать сообщение из последней строчки {echo "1";}
Т.е. либо no_connect, либо сообщение где выдаёт 1
Ещё раз код
$host = "localhost:C:\bd\1.fdb";
$username = "SYSDBA";
$password = "masterkey";
$dbh = ibase_connect($host, $username, $password);
if (ibase_connect_error()) {echo "no_connect:".ibase_connect_error();}
else {echo "1";}
Пробовал вот такой вариант:
$host = "localhost:C:\bd\1.fdb";
$username = "SYSDBA";
$password = "masterkey";
$dbh = ibase_connect($host, $username, $password);
$query = "SELECT text FROM new_table WHERE NUM = '1'";
{echo "$query";}
Тоже молчание !! Ничего не выдаёт !!
Последний раз редактировалось root; 14.11.2011 в 00:30.
Тогда у меня другой вопрос, а где вы разместили этот код? Вы вообще уверены что он у вас выполняется?
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
Помогите с созданием базы данных,
Правильно же сделал ? или есть ошибки в чём то ?PHP код:<?php
// Создадим новую базу данных
$db = sqlite_open("user.db");
if (!$db) exit("Невозможно создать базу данных!");
// Создадим таблицу "user" в базе
$query_user = sqlite_query($db, "CREATE TABLE user
(id INTEGER PRIMARY KEY,
/* id автоматически станет автоинкрементным */
login VARCHAR(15),
pass VARCHAR(30),
email VARCHAR(150),
name TEXT,
icq TEXT,
month TEXT,
number TEXT,
date TEXT,
family TEXT,
country TEXT,
city TEXT,
signature TEXT);
");
if (!$query_user) exit("Невозможно создать таблицу в базе данных!");
// Запишем что-нибудь в таблицу
$query_insert = sqlite_query($db, "INSERT INTO user(login, pass, email, name, ice, mouth, number, date, family, country, city, signature ) VALUES ('PHP5', 'Apache');");
if (!$query_insert) exit("Невозможно записать данные в таблицу!");
?>
И как мне сделать так что бы, есть поля где все эти данные водятся, при нажатие кнопки они записываются в базу данных, а точней в user.db,
Затем выводим эти данные, Есть memo1 и там они должны появиться, то есть пример:
Имя: "name"
Ваш логин: "login"
И т.д
P.s я не давно начал изучать так что если не правильно задаю вопрос то звените![]()
Уже много об этом писали
http://www.google.ru/search?hl=ru&q=...%B2+Google&lr=
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
Не морочьте мне голову если хотите получить ответ, в редакторе кода туева хуча разных событий внутри которых можно разместить код в редакторе кода, а события выполняются при определённых условиях и если какое то условие не произойдёт, то и код в этом событии никогда выполняться не будет. Так что отвечайте на вопрос по существу иначе будете искать свою проблему сами.
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
событие evennt onMousedown
Т.е. при нажати на кнопку происходит подключение к бд или не происходит, но в любом случае должно выйти окно с yes_connect или no_connect. Соответственно ничего не появляется.
Ещё раз пример кода
$host = "localhost:C:\bd\1.fdb";
$username = "SYSDBA";
$password = "masterkey";
$dbh = ibase_connect($host, $username, $password);
if (ibase_connect_error()) {echo "no_connect:".ibase_connect_error();}
else {echo "yes_connect";}
Последний раз редактировалось root; 15.11.2011 в 00:16.
попробуйте вставить в код alert(111); в нескольких ключевых местах кода..
и echo "yes_connect"; заменить на alert("yes_connect"); а также echo "no_connect:".ibase_connect_error(); заменить на alert("no_connect:".ibase_connect_error());
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
Не помогло. Опять же ничего не появляется. Ни ошибок, ни подключений. Попробую с mysql поэкспериментировать.
Значит вы не в то событие код поместили.
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
Тогда соответственно вопрос: в какое событие мне поместить ? Сейчас стоит событие evennt onMousedown !!
Т.е. я исходил из такой логики, если я нажимаю на кнопку соответственно происходит коннект к бд и выдаётся сообщение либо да, либо нет.
Ещё один вопросик ))
А компонент доступа никакой не нужен ?
Типа ODBC ?
что делать код вроде верный:
PHP код:
$c = mysql_connect($db_location,$db_user,$db_password)
or die("Could not connect: " . mysql_error());;
$s = mysql_select_db($db_name);
$result = mysql_query("
SELECT
prova
FROM
$userstable
WHERE
name=$name");
$q = mysql_fetch_row($result);
c("listBox1")->text = $q;
Что это может быть, я только начал использовать DevelStudio
Главное меню в студии - проект - настройки проекта - вкладка PHP модули -> поставить галочку напротив php_mysql.dll
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
Спасибо! Нашел!
А не подскажешь как вообще лучше общаться с базой на удаленном сервере?
Через удалённый скрипт но никак не напрямую, иначе вашу бд запросто взломают.
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
А как в скрипт передавать данные и какой для этого нужен объект в дев студии. Я понимаю, что постом, но плохо в голове укладывается как... Может есть кусочек примера?
Всем добрый вечер.
Вопрос следующего характера..
делаю так.. на событие формы "создание" пишу код
$db = sqlite_open("c:/db.sqlite");
sqlite_query($db, "CREATE TABLE foo (id INTEGER PRIMARY KEY, name CHAR(255))");
sqlite_query($db, "INSERT INTO foo (name) VALUES ('XXX')");
$result = sqlite_query($db, "SELECT * FROM foo");
while ($row = sqlite_fetch_array($result)) {
print_r($row);
}
вообщем, все работает.
наткнулся на тему http://community.develstudio.ru/show...page4?langid=2 собственно вопрос, что за run(), зачем он нужен и т.д. и т.п. если и так все работает., это первое.
второе - зачем качать файл sqlite3.exe? без него все работает.
третье - как прикрепить или не прикреплять файл базы к экзешнику?
ну и последнее, возможно не в тему, но - как защитить файл базы sqlite? (открывается в простом блокноте)
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
в папке с проектом создаётся папка data все файлы которые в ней будут, потом при сборке программы окажутся внутри exe файла, если вы во время сборки выставите галочку прикреплять ресурсы к exe файлу. Про ресурсы вот: http://help.develstudio.ru/Resursyi-EXE-63.html
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
Артур (02.02.2012)
делаю так..
в результате ошибка "Uncaught exception 'Exception' with message 'Unable to open database: out of memory'".PHP код:class MyDB extends SQLite3
{
function __construct()
{
$this->open("database.db",SQLITE3_OPEN_CREATE,'123');
}
}
$db = new MyDB();
Памяти само собой достаточно.
если заменить на $this->open("database.db"); - тогда все ок...
дальше, открываем через Maestro новоиспеченную БД, и ставим ключик 123
запрос меняем на $this->open("database.db",SQLITE3_OPEN_READWRITE,'123' );
в результате чего при попытке сделать любые манипуляции (создать таблицу, считать с таблицы) пишет
SQLite3::exec(): file is encrypted or is not a database
подскажите, в чем проблема?
Последний раз редактировалось Артур; 03.02.2012 в 00:13.
Во первых для ОО подхода существуют конструкторы: http://ru2.php.net/manual/ru/sqlite3.construct.php которые надо применять. Во вторых ваша ошибка в том что вы указали классу флаг открой базу данных, если нету создай, а флаг разрешающий доступ на запись не указали, и того верный код:
или:PHP код:class MyDB extends SQLite3
{
Public function __construct( $filename, $flags = NULL, $encryption_key = NULL)
{
// ваш дополнительный код если есть
parent::__construct( $filename, $flags, $encryption_key);
// ваш дополнительный код если есть
}
}
$db = new MyDB("database.db",SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE,'123');
PHP код:class MyDB extends SQLite3
{
}
$db = new MyDB("database.db",SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE,'123');
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
всеравно не работает, ошибки те же
если создавать базу уже с ключом- она не зашифрована. (меняю ключ - все открывается ,читается, вообщем не работает)
может нужно использовать PDO ?
http://php.net/manual/ru/ref.sqlite.php пост papafox888 at hotmail dot com 01-Jun-2006 09:05
но проблема в том, что при включении этого модуля программа вообще не запускается
http://piccy.info/view3/2567158/16de...8194d22649d46/
Последний раз редактировалось Артур; 03.02.2012 в 01:47.
Ошибок у меня никаких не возникло, смотрите внимательней свой проект, где то вы ошиблись. Вот код которым пользовался:
Прекрасно всё создаётся.PHP код:class MyDB extends SQLite3
{
Public function __construct( $filename, $flags = NULL, $encryption_key = NULL)
{
// âàø äîïîëíèòåëüíûé êîä åñëè åñòü
parent::__construct( $filename, $flags, $encryption_key);
// âàø äîïîëíèòåëüíûé êîä åñëè åñòü
}
}
$db = new MyDB("datkkabase.db",SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE,'123');
$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");
$db->close();
Правильно, читаем внимательно документацию:
Иными словами вам нужно найти php_sqlite3.dll которая была собрана с соответствующим ключём.Opens an SQLite 3 Database. If the build includes encryption, then it will attempt to use the key.
Попробовать можно, но я не уверен что не будет тоже самое, если не был указан соответствующий ключ при сборке, но я не уверен, тут надо проверить на практике, всётаки это другое расширение.
С этим попробую разобраться, потом скажу решение, если найду.
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
В том то и дело, что создается, но без шифрования, т.е. файл открывается в блокноте и вполне читаемый.
Насколько я понимаю, если я создаю БД с ключом 123 то открыть ее я могу ключом 123. Так вот, у меня БД открывается с любым ключом или без него вообще. Т.Е, параметр игнорируется, еще при создании.
если уже созданную БД зашифровать при помощи другой программы и затем попытаться открыть - возникнет SQLite3::exec(): file is encrypted or is not a database
в программе ошибки у меня быть не может, т.к. Ваш пример кода - и есть программа.
если я Вас правильно понял, то сам ключ уже должен быть "вшит" в эту библиотеку, а та версия которая идет в комплекте с DS - без ключа. если так, то где взять php_sqlite3.dll с ключом?
Последний раз редактировалось Артур; 03.02.2012 в 13:16.
https://bugs.php.net/bug.php?id=50858 вот еще одна статья, которая, на мой взгляд, подтверждает наличие определенных проблем с шифрованием в sqlite3.
Может есть какой то патч для DS который решает эту проблему? неужели никто не сталкивался или ни у кого нет необходимости в безопасном сохранении информации ?
Вы принципиально не читаете что я написал выше или просто с англицким проблемы?
Фраза на англ означала следующее: "Открывает базу данных SQLite 3. Если сборка включает в себя шифрование, то он будет пытаться использовать ключ." (с) http://translate.google.com/
Поясняю ещё раз, в модуль php_sqlite3.dll, который находится в сборке DS был скомпилирован без поддержки шифрования базы, ключ шифрования переданный ему просто игнорируется. Вам нужно найти другую php_sqlite3.dll в интернете, которая была собрана с поддержкой шифрования.
Так и должно быть, это нормально для сборки php_sqlite3.dll без поддержки шифрования, ищите другую библиотеку php_sqlite3.dll.
А по вашему должно быть иначе? Я щас зашифрую вам exe файл какой нибудь и отправлю его вам, он у вас запустится? Нет! Потому что зашифрован. Каким образом по вашему sqlite должна открыть зашифрованный, методами ей не известными, файл?
Нет, вы совершенно не правильно меня поняли, ключ шифрования это тот ключ который передаётся при открытии базы и которым шифруются и расшифровываются данные. А ключ сборки это "SQLITE_HAS_CODEC" который должен быть указан компилятору во время компиляции этой библиотеки. Вы можете скачать исходные коды пхп и пересобрать её сами указав этот ключ или поискать в интернете готовую сборку которую сделали с этим ключём.
Не товарисч, вы не правы, вы смотрели стату "заявки" Status: Not a bug Это не баг, а простое не_читание/не_понимание документации.
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
Ясно.
ни у кого нет библиотеки со встроенным шифрованием?
Или подскажите альтернативный вариант БД. мускуль супер, но не подходит
__________________________________________________ ________
Угу, угу... А потом достал из морозильной камеры - и степлером его, степлером!
Для новичков
__________________________________________________ ________
Я практически совсем не задаю вопросов, не думали почему? Потому что я пользуюсь поиском и всегда нахожу ответы на свои вопросы!
Кто пользовался Mongo?
Так как DS использует не utf8, то вот такая ошибка кодировки вылетает при добавлении значений функцией insert()...
Uncaught exception 'MongoException' with message 'non-utf8 string: Текст'
Какое есть решение? Что-то iconv не получилось использовать, а mb_* вообще не работают вроде...
http://system-x-files.ru/ - мой блогАдМиНы и МоДеРы среди нас!!Так что будьте вежливы, а то можете получить бан
![]()
Заказ работ для DevelStudio.
Помогите пожалуйста . Первая работа с бд. Ругается на DELETE FROM 'ban'
Ошибка :PHP код:$dbh = mysql_connect($host, $user, $pswd) or die("erzzzssss.");
mysql_select_db($database) or die("errzzz.");
DELETE FROM ban
WHERE IP = '5552534';
SELECT * FROM 'ban';
mysql_close($dbh);
echo 'ok' . "\n";
Parse error: syntax error, unexpected T_STRING in /home/u687650353/public_html/bd.php
хы. Я пользуюсь бесплатным хостингом hostinger.com , в нём есть phpmyadmin. Если я выполняю в этом phpmyadmin следующий запрос к бд :, То удаляются из таблицы ban все строки с фигурирующим в них столбцом IP, равным 94. НО если я пишу эту же строчку в скрипт , то у меня на неё вылетает ошибка!PHP код:DELETE FROM ban WHERE IP = 94
Что за бред?
Если же пишу по советам интернета , т.е вот так :, то вообще ни черта не происходитPHP код:$query = "DELETE FROM ban WHERE IP = '94'";
UPD
Всё успешно написал.... Забыл в конец дописать mysql_query($query);
Последний раз редактировалось kpa6; 27.03.2012 в 21:55.
Создал функцию, указал запускать при старте.
$db_location = "localhost";
$db_user = "root";
$db_password = "123456";
$db_name = "xm";
$userstable = "users";
$name = "name";
$c = mysql_connect($db_location,$db_user,$db_password);
$s = mysql_select_db($db_name);
$result = mysql_query("SELECT $name FROM $userstable");
$q = mysql_fetch_row($result);
c("Form2->combobox1")->text = $q;
mysql_close($c);
При запуске программы получаю ошибку: Call to undefined function mysql_connect() in......
Подскажите пожалуйста, в чём может быть проблема.
Walter (17.05.2012)