如何在 json 对象中包含表名
Posted
技术标签:
【中文标题】如何在 json 对象中包含表名【英文标题】:How to include table name in json object 【发布时间】:2014-12-10 19:40:13 【问题描述】:我想返回一个包含表名的 JSON 对象。如何在响应中添加属性?
"table": "tableName",
"results": [
]
目前我正在返回这样的 json 响应:
// result is an array of objects.
echo json_encode($result);
【问题讨论】:
请显示预期输出。 “生成的表名[正在]”是什么意思? 【参考方案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);
【讨论】:
以上是关于如何在 json 对象中包含表名的主要内容,如果未能解决你的问题,请参考以下文章