print json_encode json_decode ejemplo php json mysqli

json_encode - print json php



convertir resultado mysqli a json (5)

Como se mencionó, json_encode te ayudará. La forma más fácil es obtener los resultados como ya lo hace y crear una matriz que se puede pasar a json_encode .

Ejemplo:

$json = array(); while($row = $stmt->fetch()){ $json[][''foo''] = "your content here"; $json[][''bar''] = "more database results"; } echo json_encode($json);

Su $json será una matriz regular con cada elemento en su propio índice.

Debería haber muy pocos cambios en el código anterior, alternativamente, puede devolver XML y JSON ya que la mayoría del código es el mismo.

Tengo una consulta mysqli que necesito formatear como json para una aplicación móvil.

He logrado producir un documento xml para los resultados de la consulta, sin embargo, estoy buscando algo más ligero. (ver a continuación mi código xml actual)

¡Cualquier ayuda o información aprecia mucho a las personas!

$mysql = new mysqli(DB_SERVER,DB_USER,DB_PASSWORD,DB_NAME) or die(''There was a problem connecting to the database''); $stmt = $mysql->prepare(''SELECT DISTINCT title FROM sections ORDER BY title ASC''); $stmt->execute(); $stmt->bind_result($title); // create xml format $doc = new DomDocument(''1.0''); // create root node $root = $doc->createElement(''xml''); $root = $doc->appendChild($root); // add node for each row while($row = $stmt->fetch()) : $occ = $doc->createElement(''data''); $occ = $root->appendChild($occ); $child = $doc->createElement(''section''); $child = $occ->appendChild($child); $value = $doc->createTextNode($title); $value = $child->appendChild($value); endwhile; $xml_string = $doc->saveXML(); header(''Content-Type: application/xml; charset=ISO-8859-1''); // output xml jQuery ready echo $xml_string;


Logré ejecutar este código:

<?php //create an array $emparray = array(); while($row =mysqli_fetch_assoc($result)) { $emparray[] = $row; } return json_encode($emparray); ?>


Si tiene la extensión mysqlnd instalada + habilitada en php, puede usar:

$mysqli = new mysqli(''localhost'',''user'',''password'',''myDatabaseName''); $result = $mysqli->query("SELECT * FROM phase1"); //Copy result into a associative array $resultArray = $result->fetch_all(MYSQLI_ASSOC); echo json_encode($resultArray);

mysqli :: fetch_all () necesita el controlador mysqlnd para ser instalado antes de poder usarlo.


así es como hice mi feed json:

$mysqli = new mysqli(''localhost'',''user'',''password'',''myDatabaseName''); $myArray = array(); if ($result = $mysqli->query("SELECT * FROM phase1")) { $tempArray = array(); while($row = $result->fetch_object()) { $tempArray = $row; array_push($myArray, $tempArray); } echo json_encode($myArray); } $result->close(); $mysqli->close();


$mysqli = new mysqli(''localhost'',''user'',''password'',''myDatabaseName''); $myArray = array(); if ($result = $mysqli->query("SELECT * FROM phase1")) { while($row = $result->fetch_array(MYSQL_ASSOC)) { $myArray[] = $row; } echo json_encode($myArray); } $result->close(); $mysqli->close();

  1. $row = $result->fetch_array(MYSQL_ASSOC)
  2. $myArray[] = $row

salida como esta:

[ {"id":"31","name":"pruduct_name1","price":"98"}, {"id":"30","name":"pruduct_name2","price":"23"} ]

Si quieres otro estilo, puedes probar esto:

  1. $row = $result->fetch_row()
  2. $myArray[] = $row

A la salida le gustará esto:

[ ["31","pruduct_name1","98"], ["30","pruduct_name2","23"] ]