将json传递给php并获取响应

将json传递给php并获取响应,php,jquery,ajax,post,Php,Jquery,Ajax,Post,我不熟悉php/ajax/jquery,有一些问题。我试图将json传递给php文件,使用json数据运行一些任务,然后返回一个响应。我正在使用facebook api登录用户,获取详细信息,将详细信息转换为json,向服务器发送json,并让服务器检查数据库中是否已经存在用户id。这是我的javascript/jquery function checkExisting() { FB.api('/me', function(response) { console.log('Success

我不熟悉php/ajax/jquery,有一些问题。我试图将json传递给php文件,使用json数据运行一些任务,然后返回一个响应。我正在使用facebook api登录用户,获取详细信息,将详细信息转换为json,向服务器发送json,并让服务器检查数据库中是否已经存在用户id。这是我的javascript/jquery

 function checkExisting() {

FB.api('/me', function(response) {
  console.log('Successful login for: ' + response.id );

    var json = JSON.stringify(response);
    console.log(json);

    $.ajax({
            url: "php.php",
            type: "POST",           
            data: {user: json},
            success: function(msg){

                  if(msg === 1){
                     console.log('It exists ' + response.id ); 
                  } else{
                       console.log('not exists ' + response.id      ); 
                  }
                }
        })



});
}
这是我的php文件

   if(isset($_POST['user']) && !empty($_POST['user'])) {

$c = connect();
$json = $_POST['user'];
$obj = json_decode($json, true);
$user_info = $jsonDecoded['id'];

$sql = mysql_query("SELECT * FROM user WHERE {$_GET["id"]}");
$count = mysql_num_rows($sql);

if($count>0){
echo 1;
} else{
echo 0; 
} 

 close($c);
}

function connect(){
$con=mysqli_connect($host,$user,$pass);

if (mysqli_connect_errno()) {
  echo "Failed to connect to Database: " . mysqli_connect_error();
 }else{
return $con;
}
 }

 function close($c){
mysqli_close($con);
  }
我希望它根据用户id是否已在表中返回1或0,但它只返回大量html标记。json看起来是这样的

{"id":"904186342276664","email":"ferrylefef@yahoo.co.uk","first_name":"Taak","gender":"male","last_name":"Sheeen","link":"https://www.facebook.com/app_scoped_user_id/904183432276664/","locale":"en_GB","name":"Tadadadn","timezone":1,"updated_time":"2014-06-15T12:52:45+0000","verified":true} 
修复查询部分:

$sql = mysql_query("SELECT * FROM user WHERE {$_GET['id']}");
或者另一种方式:

$sql = mysql_query("SELECT * FROM user WHERE ". $_GET['id']);
那么在ajax中使用
数据类型总是更好的

    $.ajax({
            url: "php.php",
            type: "POST",           
            data: {user: json},
            dataType: "jsonp", // for cross domains or json for same domain
            success: function(msg){

                  if(msg === 1){
                     console.log('It exists ' + response.id ); 
                  } else{
                       console.log('not exists ' + response.id      ); 
                  }
                }
        })



});

在PHP中,
$jsondecodded
在哪里分配?在我看来,这是未经指派的

我想你是想说:

$obj = json_decode($json, true);
$user_info = $obj['id'];
$sql = mysql_query("SELECT * FROM user WHERE id = {$user_info}");
你的选择毫无意义。您的引用
$\u在发布过程中获得
。也许你是想说:

$obj = json_decode($json, true);
$user_info = $obj['id'];
$sql = mysql_query("SELECT * FROM user WHERE id = {$user_info}");

在网络选项卡上显示了什么…再看看你的mysql\u查询。您试图访问GET Global,但双引号未转义或字符串未正确连接。