通过POST发送到PHP的Flex数据不会发送到MySQL数据库

时间:2014-01-02 18:52:45

标签: php mysql flex post wamp

我正在开发一个flex应用程序,它由一个表单组成,其数据使用PHP发送到MySQL上的数据库。问题是通过HttpService发送的数据没有添加到数据库中。我在Windows 7上使用WAMP作为服务器,并在Firefox上通过localhost进行测试。我正在使用PHPMyAdmin查看数据库中的内容。

这是灵活代码:

<?xml version="1.0" encoding="utf-8"?>
<s:Application 
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
    <![CDATA[
        private function send_data():void
        {
            userRequest.send();
            this.currentState='thanks';
        }
    ]]>
</fx:Script>
<s:states>
    <s:State name="entry"/>
    <s:State name="thanks"/>
</s:states>
<fx:Declarations>
    <s:HTTPService id="userRequest" url="http://localhost/index.php" method="POST">
        <s:request xmlns="">
            <FName>{rFName.text}</FName>
            <LName>{rLName.text}</LName>
            <Address>{rAddress.text}</Address>
            <Sal>{rSal.selectedItem}</Sal>
        </s:request>
    </s:HTTPService> 
</fx:Declarations>
<s:ComboBox includeIn="entry" x="150" y="150" id="rSal" prompt="Salutation?">
    <s:dataProvider>
        <s:ArrayList>
            <fx:String>Mrs.</fx:String>
            <fx:String>Miss</fx:String>
            <fx:String>Mr.</fx:String>
            <fx:String>Señora</fx:String>
            <fx:String>Señorita</fx:String>
            <fx:String>Señor</fx:String>
        </s:ArrayList>
    </s:dataProvider>
</s:ComboBox>
<s:Label includeIn="entry" x="150" y="180" text="First Name"/>
<s:TextInput includeIn="entry" x="150" y="200" id="rFName"/>
<s:Label includeIn="entry" x="150" y="225"  text="Last Name"/>
<s:TextInput includeIn="entry" x="150" y="240"  id="rLName"/>
<s:Label includeIn="entry" x="150" y="265"  text="Address"/>
<s:TextInput includeIn="entry"  x="150" y="290" id="rAddress"/>
<s:Button includeIn="entry" x="150" y="310" label="Submit" click="send_data()"/>
<s:Label x="150" y="150" includeIn="thanks" text="Thank you for submitting the information"/>
</s:Application>

这是PHP / MySQL方面:

<?php
$con=mysqli_connect("localhost", "root", "");
if (!$con->select_db("formdata"))
{
    $con->query("CREATE DATABASE formdata") or die('Could not create database' . mysqli_error($con));
}
$con->query("USE formdata") or die('Could not use');
$con->query("CREATE TABLE IF NOT EXISTS info (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id),Sal CHAR(20), FName CHAR(50), LName CHAR(50), Address CHAR(50))") or die('Could not create table');
$con->query("INSERT INTO info (Sal, FName, LName, Address) VALUES ('$_POST[Sal]','$_POST[FName]','$_POST[LName]','$_POST[Address]')") or die('Could not insert');
$id=$con->insert_id;
$result = $con->query("SELECT * FROM info WHERE id = '$id' LIMIT 1")  or die('Could not load');
$row = $result->fetch_array(MYSQLI_BOTH);
    echo $row['Sal'];
    echo "<br>";
    echo $row['FName'];
    echo "<br>";
    echo $row['LName'];
    echo "<br>";
    echo $row['Address'];
    echo "<br>";
$con->close();
?>

这在使用HTML表单时有效,但在切换到FLEX时没有任何反应。我已经查看了Flex / PHP的其他代码以及我所拥有的代码,但是我的代码不起作用。该问题是与Flex / PHP相关还是WAMP问题?

1 个答案:

答案 0 :(得分:0)

我已经没有使用过这几年甚至更长时间了,因此在mx中使用FLEX 3.5左右,但我依稀记得我必须在我的Php代码表中包含使用FLEX Info更改为XML&amp;然后进入MySQL CB,因为当你试图这样做时它根本没有工作! 我在几天前想到它,我再次找到它并将它用作我的应用程序,其中安静复杂,但也工作喜欢一个魅力。网上没有太多,现在也没有,但如果你得到它,它有很多应用程序,它可以用于!关于aktell