我试图在flex中创建一个登录屏幕,并通过amfphp发送我的变量,当我运行这个查询时,没有返回数据。
当我将值传递给amfphp的浏览器时,可以看到返回了一行。有人能解释一下我做错了什么吗?记住我是个十足的傻瓜。
我犯的错误是:
(对象)0
message=“faultcode:无效的AMF消息faultstring:'无效的AMF消息'faultdetail:''行:1
“'”
name=“错误”
根本原因=(空)

<?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;
        }
    }

最佳答案

首先要做的是用Charles Proxy调试通信量。
我对你的代码做了一个简短的介绍,其中一件事让我吃惊的是你在你的方法中使用了一个字符串。amfphp不喜欢这样,因为它会干扰输出缓冲。如果您删除了echo,那么您的函数应该可以工作;这取决于您使用的是哪个版本的amfphp。

08-15 16:51