【问题标题】:How to take an information from MySQL for JSON如何从 MySQL 获取 JSON 信息
【发布时间】:2013-12-03 22:25:05
【问题描述】:

我想问的是,在解析数组时没有问题,但是当涉及到一行信息时,我无法使其工作。

对于我的 JSON 输出:

$sql3 = mysql_query("SELECT description_fr FROM aboutUni where id = 1" ); 
$query = mysql_query("SELECT description FROM aboutUni WHERE id = 1");

echo '{"status":"0",';
echo '"about-uni-desc":"'.$query.'",';
echo '"about-uni-desc-fr":"'.$sql3.'",';
echo '"images": [';

结果是查询和 sql3 变量是 资源 ID #4 和资源 ID #3 为什么我无法从我不知道的某个地方获得确切的信息

【问题讨论】:

  • 查询完还是要获取结果。
  • 您应该为 SQL 使用 PDO:php.net/manual/en/book.pdo.php & 如上所述,您没有获取结果。阅读 PHP 手册,那里都有。还有一个json_encode函数。
  • ...一旦您获取结果,使用json_encode 并完成它,编写您自己的格式没有任何意义。如果有的话,格式化 PHP 数组结构而不是编写自己的 JSON。

标签: php mysql sql json


【解决方案1】:

如果您希望查询有多个结果,那么您需要像这样迭代结果 sql3:

while ($row = mysql_fetch_assoc($sql3)) {
     echo '"about-uni-desc-fr":"'.$row['description_fr'].'",';
}

建议:

  • 使用PDO驱动,将结果直接以数组的形式返回 格式
  • 使用json_encode返回一个json响应
$数组 = 数组( '状态' => 0, 'about-uni-desc' => $值, 'about-uni-desc-fr' => $value2 ); 回声 json_encode($array);

【讨论】:

    【解决方案2】:

    查看 php.net 上的示例: http://us2.php.net/mysql_query

    这样做:

    $sql3 = mysql_query("SELECT description_fr FROM aboutUni where id = 1" ); 
    $query = mysql_query("SELECT description FROM aboutUni WHERE id = 1");
    
    $result1 = mysql_fetch_assoc($sql3);
    $result2 = mysql_fetch_assoc($query);
    
    echo '{"status":"0",';
    echo '"about-uni-desc":"'.$result1['description_fr'].'",';
    echo '"about-uni-desc-fr":"'.$result2['description'].'",';
    echo '"images": [';
    

    【讨论】:

    • 谢谢迈克尔,它工作得很好。正如您提到的,最好使用预先编写的方法:)。你做的那个工作正常。非常感谢
    • 再等 4 分钟来回答标记的问题,我肯定会的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    相关资源
    最近更新 更多