Amfphp和Flex4.5的登录系统非常简单

时间:2012-03-22 23:36:20

标签: php mysql flex flex4.5

我正在尝试在flex中创建一个登录屏幕,我通过amfphp发送变量,当我运行此查询时,我没有返回数据。

当我将值传递给amfphp的浏览器时,我可以看到返回一行。有人可以解释我做错了什么,请记住我是一个完全的菜鸟。

我遇到的错误是:

  

(对象)#0
    message =“faultCode:INVALID_AMF_MESSAGE faultString:'无效的AMF消息'faultDetail:''行:1     '“
    name =“错误”
    rootCause =(null)

<?php
    require('connection.php');

    class NotWorking {

        private $dbc;

        public function __construct(){
            $this->dbc = @mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME) OR DIE (mysqli_connect_error() );
        }

        public function no ($someVar) {
            $data = array();
            $password = mysqli_real_escape_string($this->dbc,trim($someVar['password']));
            $email= mysqli_real_escape_string($this->dbc,trim($someVar['email']));
            $query = "SELECT * FROM users WHERE email='$email' AND password='$password'";
            $r= mysqli_query($this->dbc,$query);

            /*
            if($r){
                echo ' query works ';
                var_dump($r);
            }else{ 
                echo 'Does not work';
            }
            */

            $num = mysqli_num_rows($r);
            echo "'Rows: $num'";

            if ($num > 0 )
                while ($row = mysqli_fetch_array($r) ){
                    $data[] = $row;
                }
            return $data;
        }
    }

1 个答案:

答案 0 :(得分:0)

您应该做的第一件事是使用Charles Proxy调试流量。 我已经简要地看了一下你的代码,但有一件事突然出现在我的方法中你echo字符串。 amfPHP不喜欢这个,因为它混淆了输出缓冲。如果删除echo,则您的功能应该有效;这取决于您使用的amfPHP版本。