php - 响应成功时更新我的​​表总是返回空白

标签 php mysql pdo

我正尝试通过我的表单和 postman 提交更新请求,但我在回复中一直收到相同的内容

updated:

虽然我的数据库中没有任何变化,但数据已满,它第一次清空了它并且没有任何更新

会不会是结束字段影响了查询?

function update(Request $request, Response $response) {
    $id = $request->getAttribute('id');
    $name = $request->getParam('name'); 
    $start = $request->getParam('start');
    $end = $request->getParam('end');


    $sql = "UPDATE table_timing SET
                name  = :name,
                start  = :start,
                end  = :end

            WHERE table_timing.id = :id";

    try {
        $db = new db();
        $db = $db->connect();
        $stmt = $db->prepare($sql);

        $stmt->bindParam(":id", $id);
        $stmt->bindParam(':name', $name);
        $stmt->bindParam(':start', $start);
        $stmt->bindParam(':end', $end);


        $stmt->execute();

        $db = null;

        $response->getBody()->write
            ('
            {
                "notice":
                {
                    "status":"200",
                    "message":"Updated"
                }
            }');

    } catch(PDOException $e) {
        $response->getBody()->write
        ('
        {
            "error":
            {
                "message":'. $e->getMessage() .'
            }
        }');
    }
};

最佳答案

根据 https://dev.mysql.com/doc/refman/5.7/en/keywords.html "name", "start", "end"都是mysql保留字,必须改字段名或者把字段名用'`'包起来(不是引号)

例子:`名字`

同样对于异常,我认为这是因为你的查询是错误的,如果查询根本没有运行它只会显示错误。

关于php - 响应成功时更新我的​​表总是返回空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45592096/

相关文章:

php - 无法运行查询 : SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens

php - mysql 中的学说关系

php - SQL - 改进 JOIN 查询(​​需要很长时间才能加载)

php - 我可以使用图形 API 将通知标记为已读吗?

php - 总结一列中的所有数量

mysql_init(NULL) 段错误

mysql - 如何将 'id' 从 mysql 查询绑定(bind)到 $_SESSION

php - Codeigniter:获取更新中受影响的字段

php - 根据之前的选择以及数据库中的值创建多个选择

php - 如何正确使用distinct