首页 > 解决方案 > 发布请求返回 false 但在 PHP 中的 phpmyadmin 中返回 true

问题描述

我一直在尝试使用 javascript POST 方法发布 orderid,extension id ...,但即使 SQL 查询为 true,它也总是返回 false。演示数据:

Javascript

 var order_id = "1232";
    var extension_id = "12";
    var email = "flencsso@gmail.com";
    var dom = "www.youtube.com";
    
$.post(
  "checkdata.php",
  {
    order_id: order_id,
    extension_id: extension_id,
    email: email,
    dom:dom
  },
  function (data, status) {
    //console.log("Data: " + JSON.parse(data) + "\nStatus: " + status);
    console.log(data + "status:" + status);
  }
);

该数据存在于表“osmo”中。此外,我已将所有列声明为 VARCHAR。请建议我对查询做错了什么。

PHP

 if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    
    
        if (!empty($_POST['order_id']) && !empty($_POST['extension_id']) && !empty($_POST['email']) && !empty($_POST['dom'])) {
    
            //store in variables
            $order_id = $_POST['order_id'];
            $extension_id = $_POST['extension_id'];
            $email = $_POST['email'];
            $dom = $_POST['dom'];
            //server config
            $servername = "localhost";
            $username = "root";
            $password = "";
            $dbname = "foroc";
    
            // Create connection
            $conn = new mysqli($servername, $username, $password, $dbname);
            // Check connection
            if ($conn->connect_error) {
                die("Connection failed: " . $conn->connect_error);
            }
    
            //sql query
             $sql = "SELECT *
             FROM ocorders
             WHERE order_id='$order_id'
             AND extension_id='$extension_id'
             AND email='$email'
             AND order_status='Complete'
             AND dom='$dom'
             ";


     $result = mysqli_query($conn, $sql);
//check if sql query is returning true or false
        if (mysqli_num_rows($result) > 0) {
            // output data of each row
            while ($row = mysqli_fetch_assoc($result)) {
                print json_encode("true");
            }
        } else {
            print json_encode("false");
        }
        
                
          
            //close connection
            $conn->close();
        } 
    }

标签: phpsqljsonrestopencart

解决方案


好吧,经过这么多建议,我终于找到了我的“真”。$result = mysqli_query($conn, $sql);

    if (mysqli_num_rows($result) > 0) {
        // output data of each row
        while ($row = mysqli_fetch_assoc($result)) {
            print json_encode("True");
        }
    } else {
        print json_encode("False");
    }

一些小错误有时会让人头疼。


推荐阅读