Может ли Flash использоваться вместе с SQL? У меня есть Flash-форма, и мне нужно подключить ее к SQL. Если в этой теме есть какой-то пример. Я не могу найти его.Может ли Flash интегрироваться с SQL?
ответ
Проблема с этим дает кому-то флеш-файл, который напрямую обращается к SQL-серверу, очень небезопасен. Даже если это возможно, что я видел классы SOCKET там, чтобы сделать это для MySQL (хотя и никогда не использовал его), что позволяет пользователям удаленно подключаться к вашей базе данных небезопасно, так как пользователь может обнюхать информацию для входа.
На мой взгляд, лучший способ сделать это - создать скрипт Client/Server. Вы можете легко сделать это с помощью PHP или ASP.net, используя SendAndLoad для отправки данных, которые необходимо передать в SQL через поля POST. Затем вы можете вернуть значения в PHP с помощью:
echo 'success ='. + Urlencode (data);
С помощью этой вспышки можно получить доступ к данным через поле успеха.
Я не являюсь кодовым флэш-кодом, но я работаю с компанией, которая разрабатывает приложения KIOSK для десятков компаний-производителей, и моя задача - хранить данные, возвращать их им. Это метод, который мы используем. Вы можете сделать его еще более чистым, используя фактические веб-сервисы, такие как SOAP, но этот метод выполняет свою работу, если только вы его используете.
http://www.adobe.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary435.html - Обнаруживает метод отправки SendAndLoad –
Вы не используете ActionScript напрямую с базой данных SQL. Вместо этого вы делаете HTTP-запросы с ActionScript на сервер, указав правильные параметры. Типичная настройка с открытым исходным кодом - это скрипт PHP, взаимодействующий с БД MySQL, но вы можете использовать Java с Oracle, Ruby с CouchDB, .NET с SQL или любую другую возможную конфигурацию. Важным моментом является то, что вы должны иметь возможность вызывать сценарий сервера и передавать переменные ... как правило, «Restful setup».
Как только ваш PHP-скрипт был настроен правильно, вы можете использовать http POST или http GET для отправки значений из ActionScript.
PHP:
<?php
$updateValue = $_POST["updateValue"];
$dbResult = updateDB($updateValue); //This should return the db response
echo($dbResult);
?>
Для вызова этого скрипта из ActionScript, необходимо создать объект через переменные.
var variables:URLVariables = new URLVariables();
variables.updateValue = "someResult";
Имя переменной .updateValue должно точно соответствовать переменной php.
теперь создайте объект URLRequest, указав местоположение вашего скрипта. Для этого примера метод должен быть установлен на POST. Вы добавляете переменную выше к набору данных запроса.
var request:URLRequest = new URLRequest("yourScript.php");
request.method = URLRequestMethod.POST;
request.data = variables;
Теперь создайте URLLoader и добавьте прослушиватель событий. Не передавайте запрос, созданный выше, в конструктор, но в метод загрузки.
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete);
loader.load(request);
Обработчик будет выглядеть примерно так.
private function onComplete(e:Event) : void
{
trace(URLLoader(e.target).data.toString());
}
В этом примере показано, как обновлять и получать ответ от компиляции server/db. Однако вы также можете запросить БД через скрипт и проанализировать результат. Поэтому в приведенном выше примере PHP вы можете выводить JSON, XML или даже строку с каналами, и это может быть использовано ActionScript.
XML - популярный выбор, поскольку поддержка e4x ActionScript рассматривает XML как родной объект.
Чтобы обработать ответ выше, как ответ XML, используйте следующее в обработчике onComplete.
private function onComplete(e:Event) : void
{
var result:XML = XML(URLLoader(e.target).data);
}
Это выдаст ошибку, если ваш XML плохо сформирован, поэтому убедитесь, что серверный скрипт всегда выводит правильный XML, даже если есть ошибка DB.
Очень приятный, исчерпывающий ответ. Вы получили мой голос! Я хочу, чтобы ответы на мои вопросы были более подробными. :-) – Flipster
Вы должны изучить Zend Amf или даже Zend Framework для связи на стороне сервера с Flash. Насколько мне известно, Zend Amf - это самый быстрый способ общения с PHP (поэтому ваша база данных), вы также можете передать & возврат объектов с клиента на сервер и наоборот.
Рассмотрите это, например. У вас есть куча данных в вашей базе данных, вы реализуете функции в ZF, тогда как эти данные форматируются и устанавливаются как группа объектов Value. Из Flash вы запрашиваете ZF, Zf запрашивает базу данных, извлекает &, форматирует ваши данные, возвращает объекты Value как строку JSON (например). Во Flash вы извлекаете строку JSON, декодируете ее и присваиваете свои объекты Value любым соответствующим классам.
Существует множество обучающих программ, посвященных флэш-связи с Zend Framework. Вот пример:
http://gotoandlearn.com/play.php?id=90
«SQL» не является сервером, это язык для разговора с базой данных. Имея это в виду, да, возможно, что Flash-клиент может отправить данные в базу данных (скорее всего, с помощью какой-либо серверной программы или скрипта). Точная специфика такой реализации зависит от того, что вы планируете делать, и вашего опыта программирования в базах данных. Возможно, у вас есть прецедент? –