Flash可以和SQL一起使用吗?我有一个 Flash 表单,我需要将其连接到 SQL。如果网上有关于这个主题的任何例子。我找不到它。
最佳答案
您不能直接将 ActionScript 与 SQL 数据库结合使用。相反,您可以从 ActionScript 向服务器发出 http 请求,并指定正确的参数。典型的开源设置是 PHP 脚本与 MySQL DB 通信,但您可以使用 Java 与 Oracle、Ruby 与 CouchDB、.NET 与 SQL 或任何其他可能的配置。重要的一点是,您必须能够调用服务器脚本并传递变量......通常是 Restful 设置。
正确配置 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。您将上面的变量添加到请求的数据 setter 中。
var request:URLRequest = new URLRequest( "yourScript.php" );
request.method = URLRequestMethod.POST;
request.data = variables;
现在创建一个 URLLoader 并添加一个事件监听器。不要将上面创建的请求传递给构造函数,而是传递给 load 方法。
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() );
}
此示例演示如何更新服务器/数据库组合并接收响应。但是,您也可以通过脚本查询数据库并解析结果。因此,在上面的 PHP 示例中,您可以输出 JSON、XML 甚至管道字符串,这可以由 ActionScript 使用。
XML 是一种流行的选择,因为 ActionScript 的 e4x 支持将 XML 视为 native 对象。
要将上面的响应视为 XML 响应,请在 onComplete 处理程序中使用以下内容。
private function onComplete( e:Event ) : void
{
var result:XML = XML( URLLoader( e.target ).data );
}
如果您的 xml 格式不正确,这将引发错误,因此请确保服务器脚本始终打印出有效的 XML,即使存在数据库错误也是如此。
关于sql - Flash 可以与 SQL 集成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4590199/