2016-09-17 12 views
0

我试图从我的LAMP服务器获取产品数据。但我没有得到回应。问题似乎是array_push不能正常工作,因为我可以在使用echo之前打印数据。php:无法为数组赋值并将其作为响应传递

我对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); 
} 
?> 
+1

如果你只需从数据库中选择'ID'和'Name'(改变你的sql),你就可以执行'$ response ['products'] [] = $ row;'在while循环中 – Rasclatt

回答

1

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

$i = 0; 
    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); 
     $response["products"][i] = $product; 
     $i++; 
    } 

或者你可以让你自己的代码,以及你想:)

1

待办事项somethink像

<?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); 
} 
?> 
相关问题