jQueryPosttoPHP插入数据,但json响应为空
我正在使用AngularJS构建一个简单的注册表单,并使用JQuery的$.post()将数据发送到PHP页面。当我发送数据时,它正确地插入到数据库中。但是,我正在记录的返回json将我的数据字段显示为null 控制台:jQueryPosttoPHP插入数据,但json响应为空,php,jquery,mysql,json,http-post,Php,Jquery,Mysql,Json,Http Post,我正在使用AngularJS构建一个简单的注册表单,并使用JQuery的$.post()将数据发送到PHP页面。当我发送数据时,它正确地插入到数据库中。但是,我正在记录的返回json将我的数据字段显示为null 控制台: {"status":"success","email":null,"id":null,"sessionId":null} Javascript: $.post("admin/addUser.php", { email: form.email, password
{"status":"success","email":null,"id":null,"sessionId":null}
Javascript:
$.post("admin/addUser.php", {
email: form.email,
password: form.password
}).done(function(data){
console.log(data);
});
PHP:
你确定这里只有一张唱片吗
$getUser = mysql_query("SELECT * FROM users WHERE email = '".$email."' AND sessionId = '".$sessionId."'");
尝试转储$row并查看响应。顺便说一句,我建议你增加限额
$getUser = mysql_query("SELECT * FROM users WHERE email = '".$email."' AND sessionId = '".$sessionId."' LIMIT 1");
好吧,我四处搜寻,找到了答案。这是我的错误。我只是将密码和sessionId存储为varchar(30)。当我生成sessionId并对照DB检查它时,它在存储时被切断,因为我只允许30个字符。我更新到255并按预期工作:-P.谢谢您的帮助。我添加了
if(mysql\u num\u rows($getUser)==1)
,它不会计算。奇怪,因为我在这个表中没有任何其他数据。我正在尝试插入数据,如果成功,检索数据并将其作为json返回。顺便说一句,我不明白为什么在插入后选择数据?@user3796431一旦用户注册,我想获取他们的sessionId并将其存储在本地,这样他们就不必再次登录。这也是对我的一点确认,这是有效的。我不明白为什么(mysql\u num\u rows($getUser)==1)
在数据库中没有其他人时返回false。此外,email列需要唯一的值,sessionId列也需要唯一的值。最后一个猜测:)$getUser=mysql_query(“选择COUNT(*)作为num,其中email='“$email.”和sessionId='“$sessionId.”)$num=mysql\u fetch\u数组($getUser);如果($num['num']==1)echo json_encode(数组('status'=>'success','email'=>$email,'id'=>mysql_insert_id(),'sessionId'=>$sessionId));
$getUser = mysql_query("SELECT * FROM users WHERE email = '".$email."' AND sessionId = '".$sessionId."' LIMIT 1");