2016-04-03 106 views
-1

我正在使用mysql来托管一个数据库,并且我正在检查'最喜欢的'表以查看是否存在条目。当用户点击收藏夹按钮时,表格会填充。当我在postman上运行查询时,我回应查询的结果,即使数据库中的条目存在,我也会返回NULL。检查数据库查询总是返回NULL

$conn = mysqli_connect($servername, $username, $password,$db); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

// json response array 
$response = array("error" => FALSE); 

if (isset($_POST['memory_id']) && isset($_POST['uid'])) { 

    // receiving the post params 
      $memory_id=$_POST['memory_id']; 
     $user_id=$_POST['uid']; 
     echo $memory_id; 
     echo $user_id; 
      $result = mysqli_query($conn, "SELECT * FROM favorite WHERE memory_id='$memory_id' AND user_id='$user_id'"); 
     if($result) 
     { 
     echo json_encode($result); 
      // user failed to store 
       $response["favorite"] = TRUE; 
       echo json_encode($response); 


     } 
      else { 
        $response["favorite"]=FALSE; 
      echo json_encode($response); 
      } 
     } 


    else { 
    $response["error"] = TRUE; 
    $response["error_msg"] = "Required parameters user or memory is missing!"; 
    echo json_encode($response); 
} 

mysqli_close($conn); 
?> 
+0

我会仔细检查你的$结果。仅仅因为如果($ result)不返回false并不意味着你检索到了结果。而且你没有调用任何获取方法,所以你没有从数据库请求数据。 http://php.net/manual/en/function.mysqli-fetch.php – Rottingham

+0

检查它的错误,你会看到自己,你没有这样做。 –

回答

0

也许你忘了打电话给一些mysqli的取功能(如mysqli_fetch_assoc):

$q = mysqli_query($conn, "SELECT * FROM favorite WHERE memory_id='$memory_id' AND user_id='$user_id'"); 
$result = mysqli_fetch_assoc($q); 
if($result) 
{ 
    echo json_encode($result); 
...... 

注:假设你的最爱:: memory_id和喜爱:: USER_ID列是VARCHAR类型

+0

我之前尝试过,但是当我尝试过它的时候。谢谢。 – Sean