sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener todas las categorías de productos de mysql db a través de php y devolver una matriz json

Para el lado de php, así es como puede obtener la matriz de categorías y hacer json, para las declaraciones preparadas, así es como puede lograr

$success = false;
try {

  $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$success = true;
}
catch(PDOException $e) {
$response["success"] = 0;
$response["message"] = 'Connection failed: ' . $e->getMessage();
$response["data"]=null;
die(json_encode($response));
}

$query_categories = "SELECT category_name FROM categories";

try{

$sth = $sth->prepare($query_categories );
$success = true;

} catch(PDOException $e) {
$response["success"] = 0;
$response["message"] = 'Prepare failed: ' . $e->getMessage();
$response["data"]=null;
die(json_encode($response));
}

try{
$sth->execute();
$success = true;
} catch(PDOException $e) {
$response["success"] = 0;
$response["message"] = 'Execute failed: ' . $e->getMessage();
$response["data"]=null;
die(json_encode($response));
}

$categories = $sth->fetchAll(PDO::FETCH_COLUMN, 0);/* fetches all categories from db */

/* Output of $query_categories
Array
(
    [0] => cat1
    [1] => cat2
    [2] => cat3
    [3] => cat4
)
*/
/* json encode $query_categories 
["cat1","cat2","cat3","cat4"]
*/

/* check if categories exist or not*/
if(empty($categories)){
        $response["success"] = 0;
        $response["message"] = "No categories found";
        $response["data"]=null;
        die(json_encode($response));
        $connection = null; 

}

if($success) {
    $response["success"] = 1;
    $response["message"] = "Kylie";
    $response["data"]=$categories;
    die(json_encode($response));
    $connection = null;      
 /* output
 {"success":0,"message":"Kylie","data":["cat1","cat2","cat3","cat4"]}
 */
} else {
    $response["success"] = 2;/* don't where you are setting success to 2*/
    $response["message"] = "something went wrong";
    $response["data"]=null;
    die(json_encode($response));
    $connection = null;
}

} else {
        $response["success"] = 3;/* don't where you are setting success to 3*/
        $response["message"] = "Another brick in the wall";  
        $response["data"]=null; 
        die(json_encode($response));
        $connection = null;
}

No soy bueno en Java, pero aquí está la referencia ¿Cómo analizar un JSON y convertir sus valores en una matriz?

/* store json string in  the_json */
JSONObject myjson = new JSONObject(the_json);
JSONArray the_json_array = myjson.getJSONArray("data");

Objetos de datos PHP