更新数据库后,如何检索该记录?[关闭]

After updating the database how do I retrieve that record? [closed]

提问人:oooo 提问时间:11/2/2023 最后编辑:ADysonoooo 更新时间:11/2/2023 访问量:46

问:


这个问题是由错别字或无法再现的问题引起的。虽然类似的问题可能在这里是主题,但这个问题的解决方式不太可能帮助未来的读者。

2天前关闭。

我有一个更新记录的 php 文件,但我如何检索该记录。

<?php

include("config.php");

ini_set('display_errors', 'On');
error_reporting(E_ALL);

$executionStartTime = microtime(true);
header('Content-Type: application/json; charset=UTF-8');

$conn = new mysqli($cd_host, $cd_user, $cd_password, $cd_dbname, $cd_port, $cd_socket);

if (mysqli_connect_errno()) {
    
    $output['status']['code'] = "300";
    $output['status']['name'] = "failure";
    $output['status']['description'] = "database unavailable";
    $output['status']['returnedIn'] = (microtime(true) - $executionStartTime) / 1000 . " ms";
    $output['data'] = [];

    mysqli_close($conn);

    echo json_encode($output);

    exit;
}   

$stmt = $conn->prepare("UPDATE personnel SET firstName = ?, lastName = ?, email = ?, jobTitle = ?, departmentID = ? WHERE id=?");
$stmt->bind_param("ssssii", $_REQUEST['firstName'],$_REQUEST['lastName'],$_REQUEST['emailAddress'],$_REQUEST['jobTitle'],$_REQUEST['departmentID'],$_REQUEST['id']);
$stmt->execute();

$stmt = $conn->prepare("SELECT * FROM `personnel` WHERE `id` = ?");
$stmt->bind_param("i",$_REQUEST['id']);
$stmt->execute();
$result = $stmt->get_result();
echo json_encode($result);
?>

显示记录后,我得到{},为什么会这样,任何帮助将不胜感激。

php mysql mysqli

评论

1赞 GrumpyCrouton 11/2/2023
若要获取记录,需要 SELECT 查询。
0赞 oooo 11/2/2023
我已经试过了,但仍然不起作用。
0赞 nbk 11/2/2023
打印 _request 美元,看看是否有值
0赞 droopsnoot 11/2/2023
根据文档,您需要从结果集中获取该行。 例如。我从来不知道为什么需要额外的步骤,但我已经习惯了 PDO。$row = $result->fetch_array(MYSQLI_NUM);
1赞 ADyson 11/2/2023
还行。但是,如果您遵循了任何介绍性教程,或者查看了文档中的示例,我认为您一定不会不看到必须从 SELECT 结果中显式获取行的位置。因此,也许您需要再次查看您的示例/课程笔记/教程等,以确保您理解并注意到所有内容。

答: 暂无答案