我正尝试使用传递给查询中post方法的变量,如下所示:
header('Content-Type: application/json');
$query = "SELECT * FROM products WHERE products.productid IN (SELECT purchases.productid FROM purchases WHERE purchases.customerid = ".(string)$_POST['customerid'].")";
$result = mysqli_query($connection,$query);
$rows = array();
while($r = mysqli_fetch_assoc($result)) {
$rows[] = $r;
}
echo json_encode($rows);
mysqli_free_result($result);
我正在从以下angularjs代码中调用此代码:
$scope.showCustomerModal = function(customer){
$scope.selectedCustomer = customer;
$scope.showModal = true;
console.log(customer.customerid);
$http.post(PATH + 'api/custPurchases.php', {'customerid' : customer.customerid})
.then(function(response){
console.log(response);
});
}
我已验证这传递了正确的客户和客户ID,例如,请求有效负载为:{customerid:“ 21”}。当我使用$ _POST ['customerid']时,响应返回一个空数组,但是如果我将21硬编码到查询中,它将按预期返回。有谁知道可能出什么问题了?