Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQueryPosttoPHP插入数据,但json响应为空_Php_Jquery_Mysql_Json_Http Post - Fatal编程技术网

jQueryPosttoPHP插入数据,但json响应为空

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

我正在使用AngularJS构建一个简单的注册表单,并使用JQuery的$.post()将数据发送到PHP页面。当我发送数据时,它正确地插入到数据库中。但是,我正在记录的返回json将我的数据字段显示为null

控制台:

{"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");