【发布时间】:2013-02-25 23:26:10
【问题描述】:
我有一些从 adobe flash AS3 接收的数据,PHP 文件接收到它,但我似乎无法将数据发送到 mySQL...
这是我的 PHP 代码:
<?php
if(isset($_POST['userFirstName'])){ $userFirstName = $_POST['userFirstName']; }
if(isset($_POST['userLastName'])){ $userLastName = $_POST['userLastName']; }
if(isset($_POST['userEmail'])){ $userEmail = $_POST['userEmail']; }
if(isset($_POST['userNumber'])){ $userNumber = $_POST['userNumber']; }
if(isset($_POST['userMsg'])){ $userMsg = $_POST['userMsg']; }
$username="******";
$password="*******";
$database="b-elite-fitness";
mysql_connect("localhost","$username","$password") or die (mysql_error());
mysql_select_db("$database") or die (mysql_error());
mysql_query("INSERT INTO formdp
(ID ,firstname, lastname, email, number, message)
VALUES('','$userFirstName[firstname]','$userLastName[lastname]','$userEmail[email]','$userNumber[number]','$userMsg[message]')")
or die (mysql_error());
echo "foo=bar&checking=ok";
mysql_close();
?>
我得到这个 php 文件的错误...
( ! ) Notice: Undefined variable: userFirstName in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
# Time Memory Function Location 1
0.0094 253176 {main}( ) ..\form.php:0
( ! ) Notice: Undefined variable: userLastName in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
# Time Memory Function Location 1
0.0094 253176 {main}( ) ..\form.php:0
( ! ) Notice: Undefined variable: userEmail in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
# Time Memory Function Location 1
0.0094 253176 {main}( ) ..\form.php:0
( ! ) Notice: Undefined variable: userNumber in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
# Time Memory Function Location 1
0.0094 253176 {main}( ) ..\form.php:0
( ! ) Notice: Undefined variable: userMsg in C:\wamp\www\NewtestForm\form.php on line 18 Call Stack
# Time Memory Function Location 1
0.0094 253176 {main}( ) ..\form.php:0
谁能帮帮我这几天我一直在解决这个问题...
我是 PHP 新手,所以也可以解释一下......
编辑更新....我更改了编码,但仍然出现相同的错误...这是我的新编码....
<?php
if(isset($_POST['userFirstName'])){ $userFirstName = $_POST['userFirstName']; }
if(isset($_POST['userLastName'])){ $userLastName = $_POST['userLastName']; }
if(isset($_POST['userEmail'])){ $userEmail = $_POST['userEmail']; }
if(isset($_POST['userNumber'])){ $userNumber = $_POST['userNumber']; }
if(isset($_POST['userMsg'])){ $userMsg = $_POST['userMsg']; }
$username="root";
$password="dp10aap";
$database="b-elite-fitness";
mysql_connect("localhost","$username","$password") or die (mysql_error());
mysql_select_db("$database") or die (mysql_error());
mysql_query("INSERT INTO formdp
(id ,firstname, lastname, email, number, message)
VALUES('NULL','$userFirstName','$userLastName','$userEmail','$userNumber','$userMsg')")
or die (mysql_error());
mysql_close();
?>
这是我的错误......
( ! ) 注意:未定义变量:第 18 行 C:\wamp\www\NewtestForm\form.php 中的 userFirstName 调用栈
时间记忆功能定位
1 0.0112 252456 {main}( ) ..\form.php:0
( ! ) 注意:未定义变量:第 18 行 C:\wamp\www\NewtestForm\form.php 中的 userLastName 调用栈
时间记忆功能定位
1 0.0112 252456 {main}( ) ..\form.php:0
( ! ) 注意:未定义变量:第 18 行 C:\wamp\www\NewtestForm\form.php 中的 userEmail 调用栈
时间记忆功能定位
1 0.0112 252456 {main}( ) ..\form.php:0
( ! ) 注意:未定义变量:第 18 行 C:\wamp\www\NewtestForm\form.php 中的 userNumber 调用栈
时间记忆功能定位
1 0.0112 252456 {main}( ) ..\form.php:0
( ! ) 注意:未定义变量:第 18 行 C:\wamp\www\NewtestForm\form.php 中的 userMsg 调用栈
时间记忆功能定位
1 0.0112 252456 {main}( ) ..\form.php:0
【问题讨论】:
-
如果这些变量未定义,您最初的
isset调用将返回false,因此实际上您的PHP 没有收到您正在发布的数据。问题出在其他地方。 -
fyi
mysql已弃用,此代码易受 SQL 注入攻击。您应该使用带有mysqli或 PDO 的占位符 -
在您的 ID 字段中使用
NULL而不是''。假设您已将 ID 字段设置为自动递增整数? -
@Beneto 谢谢你的帮助
-
@fuzic 你能帮我确定问题可能出在哪里吗......如果我也向你展示我的 AS3 编码......因为我最初认为错误是在 AS3 和 PHP 之间而不是 PHP到 MYSQL...?
标签: php mysql actionscript-3