Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Obtendo dados do MYSQL em JSON usando PHP


Você provavelmente está codificando um conjunto de dados muito grande. Você poderia codificar cada linha, uma linha por vez, em vez de codificá-la em uma grande operação.
<?php
require('../../admin/db_login.php');

$db=mysql_connect($host, $username, $password) or die('Could not connect');
mysql_select_db($db_name, $db) or die('');

$result = mysql_query("SELECT * from listinfo") or die('Could not query');

if(mysql_num_rows($result)){
    echo '{"testData":[';

    $first = true;
    $row=mysql_fetch_assoc($result);
    while($row=mysql_fetch_row($result)){
        //  cast results to specific data types

        if($first) {
            $first = false;
        } else {
            echo ',';
        }
        echo json_encode($row);
    }
    echo ']}';
} else {
    echo '[]';
}

mysql_close($db);

Dessa forma, cada chamada para json_encode() codifica apenas uma pequena matriz em vez de uma grande. O resultado final é o mesmo. Esta é a solução IMO que usará menos memória.