sql - Flash 可以与 SQL 集成吗?

标签 sql flash

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/

相关文章:

.htaccess - Flash 对象发出不安全的 http 请求

mysql - 在sql中重命名每个组的重复项

sql - 不使用 "left join"模拟左连接

jquery - 单击时重新加载/重置嵌入的 swf

javascript - 使用ExternalInterface获取swf文件函数名称?

flash - 使用 jsfl 批量重命名 Flash 库项目

apache-flex - 如何解决 Flash 错误 2176

sql - 如何在sql server中拆分和连接?

mysql - 使用多个内连接加速 SQL 查询

php - 为相同的值插入多行 - SQL