【问题标题】:How to include table name in json object如何在 json 对象中包含表名
【发布时间】:2014-12-10 19:40:13
【问题描述】:

我想返回一个包含表名的 JSON 对象。如何在响应中添加属性?

{
  "table": "tableName",
  "results": [
    
  ]
}

目前我正在返回这样的 json 响应:

// result is an array of objects.
echo json_encode($result); 
 

【问题讨论】:

  • 请显示预期输出。 “生成的表名[正在]”是什么意思?

标签: php mysql sql json database


【解决方案1】:

因为数据库没有返回表名!

如果您想返回它,请将您的 $json_response 对象包装到另一个数组中。例如。

echo json_encode(array('table_name' => $json_response))

因此,您正在使用不安全已弃用的 mysql_* 函数。请切换到 MySQLi 或 PDO 和准备好的语句。

【讨论】:

  • 你能告诉我我应该改变什么吗?
  • 您无需更改任何内容。 SQL 查询永远不会返回表的名称。但是您可以将您的“echo”行替换为我在上面发布的行,调整“table_name”。
  • 如果你的意思是“我应该为数据库改变什么”......然后停止遵循为 PHP4 编写的指南并使用新的数据库驱动程序:php.net/mysqli 或 php.net/pdo。请注意,您使用的扩展名 MySQL(不是“i”)已被弃用。 @ImAtWar
【解决方案2】:

您遍历数据库查询的结果,它不会包含表名,除非您手动将其添加到响应中...

$json_response = array('table' => 'table name here', 'results' => array());

和..

array_push($json_response['results'],$row_array);

【讨论】:

    猜你喜欢
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-29
    • 1970-01-01
    • 2016-12-23
    • 2011-02-04
    • 2013-05-22
    相关资源
    最近更新 更多