php:无法为数组赋值并将其作为respone传递

时间:2016-09-17 18:14:24

标签: php mysqli array-push

我正在尝试从LAMP服务器获取产品数据。但我没有得到回应。问题似乎是array_push没有正常工作,因为我可以在使用echo之前打印数据。

我对php很新。

感谢您的帮助。

<?php
 ini_set('display_errors', 'On');
error_reporting(E_ALL);

 $servername = "localhost";
$username = "root";
$password = "";
$dbname = "DB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM Produkt";
$result = $conn->query($sql);


// check for empty result
if (mysqli_num_rows($result) > 0) {

    // looping through all results
    // products node
    $response["products"] = array();

    while ($row = mysqli_fetch_assoc($result)) {
        // temp user array
        $product = array();
        $product["ID"] = $row["ID"];
    $product["Name"] = $row["Name"];


        // push single product into final response array
            //print json_encode($product);
        array_push($response["products"], $product);
    }
    // success
    $response["success"] = 1;

    // echoing JSON response
    echo json_encode($response);
} else {
    // no products found
    $response["success"] = 0;
    $response["message"] = "No products found";

    // echo no users JSON
    echo json_encode($response);
    //print json_encode($response);
}
?>

2 个答案:

答案 0 :(得分:1)

请尝试

<?php
 ini_set('display_errors', 'On');
error_reporting(E_ALL);

 $servername = "localhost";
$username = "root";
$password = "";
$dbname = "DB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM Produkt";
$result = $conn->query($sql);

$array = array();
// check for empty result
if (mysqli_num_rows($result) > 0) {

    // looping through all results
    // products node

    while ($row = mysqli_fetch_assoc($result)) {
        // temp user array
          $array['products'][] = $row;
        // push single product into final response array
            //print json_encode($product)
    }
    // success
    $array["success"] = 1;

    // echoing JSON response
    echo json_encode($array);
} else {
    // no products found
    $array["success"] = 0;
    $array["message"] = "No products found";

    // echo no users JSON
    echo json_encode($array);
    //print json_encode($array);
}
?>

答案 1 :(得分:1)

您可以使用简单的代码轻松实现:

Intent

或者您可以根据需要制作自己的代码:)