gpt4 book ai didi

php - 我的 php 文件没有以 JSON 形式返回所有值

转载 作者:行者123 更新时间:2023-11-29 06:16:50 25 4
gpt4 key购买 nike

所以我有一个数据库,我编写了一个 php 文件,将值插入到 table 中,然后返回此 table 中的所有值>.

但是,我的代码只返回表中的一个随机值,而不是所有值。我不确定为什么,但这是我的代码:

<?php
include_once "init.php";

if(!empty($_POST['names'])){
$contactname = $_POST['names'];

$query = "INSERT INTO contacts (contactID, names)
VALUES('NULL', ?)";
$results = $conn -> prepare($query);
$results->bind_param('s', $contactname);
$results->execute();
$results->close();
echo json_encode("Success");

$query_two = "SELECT names FROM contacts";
$result = mysqli_query($conn, $query_two);
$response = array();

if(mysqli_num_rows($result)){
while($row = mysqli_fetch_assoc($result)){
$response["names"][] = $row["names"];
}
}
echo json_encode($response);
}
else{
echo json_encode("Something went wrong");
}

?>

编辑:感谢你们如此迅速地为我提供解决方案!我修复了它并且它可以工作,但是第一个 echo json_encode("Success"); 没有被执行。

最佳答案

在你的行中:

$response["names"] = $row["names"];

您正在替换 $response["names"] 的值。相反,尝试将其添加到数组中:

$response = array("names" => array());

if(mysqli_num_rows($result)){
while($row = mysqli_fetch_assoc($result)){
$response["names"][] = $row["names"];
}
}

要使用一个 JSON 对象,您需要在顶部初始化 $response 并根据需要更改值。

<?php
include_once "init.php";

$response = ['success' => false, 'message' => null, 'names' => []];

if(empty($_POST['names'])) {
$response['message'] = 'No names were provided in the request';

} else {
$contactname = $_POST['names'];

$query = "INSERT INTO contacts (contactID, names) VALUES('NULL', ?)";
$results = $conn->prepare($query);
$results->bind_param('s', $contactname);
$results->execute();
$results->close();

$response['success'] = true;

$query_two = "SELECT names FROM contacts";
$result = mysqli_query($conn, $query_two);

if(mysqli_num_rows($result)){
while($row = mysqli_fetch_assoc($result)){
$response['names'][] = $row['names'];
}
}

}

echo json_encode($response);

关于php - 我的 php 文件没有以 JSON 形式返回所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35380276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com