gpt4 book ai didi

php - 将分数从 AS3 提交到 PHP/SQL - #Error 2101

转载 作者:行者123 更新时间:2023-11-29 12:38:37 25 4
gpt4 key购买 nike

我在使用 SQL 数据库将分数从 Flash CC AS3 游戏发布到 PHP 页面时遇到问题。
我在输出窗口中收到 ERROR #2101 消息。
经过很长时间搜索这个问题后,我被建议检查是否是 PHP 的问题。

我创建了一个非常简单的Flash文件,代码(我已经替换了下面的实际站点地址)是:

import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.URLLoader;
import flash.events.Event;

var userName = "Jamie";
var newScore = 1300123;

btn_submit.addEventListener(MouseEvent.CLICK, submitted);

function submitted(e:MouseEvent) {
var myrequest:URLRequest = new URLRequest("http://mysiteaddresshere.com/test_scores.php");
myrequest.method = URLRequestMethod.POST;
var variables:URLVariables = new URLVariables();
variables.player = userName;
variables.score = newScore;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, dataOnLoad);
loader.load(myrequest);
}

function dataOnLoad(evt:Event) {
MC_success.alpha = 100;
}

PHP代码如下:

<?php

include("db.php");

// Connect to the MySQL server
$link = mysql_connect($host, $user, $pass);
if(!$link) {
die('Failed to connect to server.'.mysql_error());
}

$db = mysql_select_db($database);
if(!$db) {
die("unable to select database");
}

$gameName = "ietul";
$employeeID = 123456;
$player = $_POST['userName'];
$score = $_POST['newScore'];

//Create INSERT query
$qry = "INSERT INTO highScore (gameName,employeeID,player,score) VALUES('$gameName','$employeeID','$player','$score')";
$result = @mysql_query($qry);
echo "writing = OK";
exit();
mysql_close();

?>

include 包含此数据库的连接和表详细信息。
游戏本身应该包含 gameNameemployeeID 变量,但为了测试,我在这里对它们进行了硬编码。
我将游戏、html 和相关文件上传到同一网站,当我玩游戏时,我的数据库会通过添加游戏名和员工 ID 详细信息进行更新,但玩家和得分字段为空。

我尝试了不同的版本,使用方法 GET、数据格式 TEXT 等。

我已经关注这个问题并研究这个问题超过 1 周了......如果有人能告诉我我做错了什么,我会很高兴收到你的来信!

我对 Flash、PHP 和 SQL 的结合还比较陌生,所以如果我遗漏了一些明显的东西,请原谅!

再次感谢,
周杰伦

最佳答案

试试这个:

AS3代码:

btn_submit.addEventListener(MouseEvent.CLICK, submit_on_Press)

function submit_on_Press(e:MouseEvent) {

var variables:URLVariables = new URLVariables()
variables.player = 'player_name'
variables.score = 1526

var request:URLRequest = new URLRequest('http://127.0.0.1/score/score.php')
request.method = URLRequestMethod.POST
request.data = variables

var loader:URLLoader = new URLLoader()
loader.dataFormat = URLLoaderDataFormat.VARIABLES
loader.addEventListener(Event.COMPLETE, data_on_Load)
loader.load(request)

}

function data_on_Load(e:Event) {
trace(e.target.data.writing)
}

PHP 代码:

<?php

if(count($_POST) != 2) die();

$player = trim($_POST['player']);
$score = intval($_POST['score']);

$link = mysqli_connect('127.0.0.1', 'root', '', 'test') or die('Error ' . mysqli_error($link));

$query = "INSERT INTO test(player, score) Values('".$player."', ".$score.")";

$result = $link->query($query);
$link->close();

echo 'writing='.($result ? 'ok' : 'error');

?>

对于 PHP,我建议您使用 mysqli,因为 mysql 已被弃用。

关于php - 将分数从 AS3 提交到 PHP/SQL - #Error 2101,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26422299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com