我试图在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。