PHP 将 SQL 请求转换为 JSON
Posted
技术标签:
【中文标题】PHP 将 SQL 请求转换为 JSON【英文标题】:PHP convert a SQL request into JSON 【发布时间】:2018-11-04 16:09:02 【问题描述】:我有一个这样的 SQL 表:
$sql="CREATE TABLE
config (ID INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50),
valor VARCHAR(50));";
让我们认为它有这行(ID、名称、值):
1 | name1 | value1
2 | name2 | value2
3 | name3 | value3
如何将我的 SQL 查询结果转换为仅包含名称和值数据的 JSON 对象?
【问题讨论】:
SQL 结果将不是字符串格式。它可以是一个对象或一个数组。 你的意思是进入 json 字符串?只需像往常一样获取行,将其放入数组中并在其上使用json_encode
【参考方案1】:
您必须执行三个步骤:
1.) 创建所需的 SQL 并运行它:
$sql = "SELECT nombre, valor FROM config";
$stmt = $pdoCon->prepare($sql);
$stmt->execute();
2.) 使用您的 SQL-Connection(我将在我的回答中使用 PDO)查询所需的数据:
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
3.) 使用 json_encode()
从数组中创建 JSON 字符串:
$json = json_encode($result);
【讨论】:
【参考方案2】:通过执行查询来获取数据,该查询将返回一个数组,然后使用 json_encode 将其转换为 json
【讨论】:
【参考方案3】:**Try Below Code**
<?php
$sql="SELECT nombre, valor FROM config";
$result = $conn->query($sql);
$myData=array(); // blank array
if ($result->num_rows > 0)
while($row = $result->fetch_assoc())
unset($row['nombre']);
array_push($myData,$row); // push rows to array $myData
// get array with removed nombre ==>$myData
echo json_encode($myData); //get json
?>
【讨论】:
感谢佩德罗·何塞·奥特罗·罗德里格斯。以上是关于PHP 将 SQL 请求转换为 JSON的主要内容,如果未能解决你的问题,请参考以下文章
PHP实现chrome表单请求数据转换为接口使用的json数据