在查询中使用post变量与硬编码

时间:2018-11-09 19:58:47

标签: javascript php angularjs

我正尝试使用传递给查询中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硬编码到查询中,它将按预期返回。有谁知道可能出什么问题了?

0 个答案:

没有答案