php echo json_从数据库条目编码->;越来越奇怪的格式。如何获得正确的JSON
目前,我得到了以下JSON:php echo json_从数据库条目编码->;越来越奇怪的格式。如何获得正确的JSON,php,mysql,json,Php,Mysql,Json,目前,我得到了以下JSON: ["1Sales & Consulting","2Pyments","3Investing","4Financing","5Cross Functional"] 但我想要一个合适的JSON,比如: [{"id":1, "name": "Sales & Consulting"}{"id": 2, "name": "Pyments"}{"id": 3, "Investing"}{"id": 4, "name": "Financing"}{"id": 5
["1Sales & Consulting","2Pyments","3Investing","4Financing","5Cross Functional"]
但我想要一个合适的JSON,比如:
[{"id":1, "name": "Sales & Consulting"}{"id": 2, "name": "Pyments"}{"id": 3, "Investing"}{"id": 4, "name": "Financing"}{"id": 5, "name": "Cross"}]
我用来生成第一个输出的代码是:
<?php
define('servername','localhost');
define('username','root');
define('password','');
define('dbname','integration');
// Create connection
$conn = new mysqli(servername, username, password, dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id, name FROM capability_level1";
$result = $conn->query($sql);
$test = array();
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$test[] = $row["id"] . $row["name"];
}
echo json_encode($test);
} else {
echo json_encode("0 results");
}
$conn->close();
?>
我必须改变什么?在第二步中,需要将该回显传递到ajax,以更改行
while($row = $result->fetch_assoc()) {
$test[] = $row["id"] . $row["name"];
}
到
希望这有帮助。更改行
while($row = $result->fetch_assoc()) {
$test[] = $row["id"] . $row["name"];
}
到
希望这有帮助。尝试以下方法:
while($row = $result->fetch_object()) {
array_push($test, $row);
}
echo json_encode($test);
请尝试以下方法:
while($row = $result->fetch_object()) {
array_push($test, $row);
}
echo json_encode($test);
使用以下代码更改:-
<?php
$result = $conn->query($sql);
$test = array();
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
array_push($test, $row);
}
echo json_encode($test);
} else {
echo json_encode("0 results");
}
$conn->close();
?>
使用以下代码更改:-
<?php
$result = $conn->query($sql);
$test = array();
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
array_push($test, $row);
}
echo json_encode($test);
} else {
echo json_encode("0 results");
}
$conn->close();
?>
仅$test[]=$row代码>或立即获取$test=$result->fetch_all()代码>。我试图将您的第一个建议放入while循环,但它给了我一个错误。然后我在while再次出错之前在外面尝试了它,然后我在while循环中尝试了您的第二个建议,出现了另一条错误消息。我想我不明白你的建议只是$test[]=$row代码>或立即获取$test=$result->fetch_all()代码>。我试图将您的第一个建议放入while循环,但它给了我一个错误。然后我在while再次出错之前在外面尝试了它,然后我在while循环中尝试了您的第二个建议,出现了另一条错误消息。我想我不明白你的意思,只是把分号的位置改在数组定义之后!根据SO规则,我无法编辑您的帖子,因为它少于6次更改!在那之后,它工作得很好,thanks@J.Doe-谢谢你。编辑了这篇文章。只需在数组定义后将分号的位置改为!根据SO规则,我无法编辑您的帖子,因为它少于6次更改!在那之后,它工作得很好,thanks@J.Doe-谢谢你。编辑了这篇文章。