Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当响应成功时,更新我的表总是返回空白_Php_Mysql_Pdo - Fatal编程技术网

Php 当响应成功时,更新我的表总是返回空白

Php 当响应成功时,更新我的表总是返回空白,php,mysql,pdo,Php,Mysql,Pdo,我试图通过我的表格和邮递员提交更新请求,但我在回复中不断得到同样的结果 更新: 虽然我的数据库中没有任何变化,但数据已满—第一次清空时,没有任何更新 是否结尾字段会影响查询 function update(Request $request, Response $response) { $id = $request->getAttribute('id'); $name = $request->getParam('name'); $start = $reques

我试图通过我的表格和邮递员提交更新请求,但我在回复中不断得到同样的结果

更新:

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

是否结尾字段会影响查询

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() .'
            }
        }');
    }
};
据 “name”、“start”和“end”都是mysql保留字,您必须更改字段名或将字段名用“`”括起来(不加引号)

例如:`姓名`

还有一个例外,我认为这是因为您的查询是错误的,只有在查询根本没有运行时才会显示错误。

根据 “name”、“start”和“end”都是mysql保留字,您必须更改字段名或将字段名用“`”括起来(不加引号)

例如:`姓名`


还有一个例外,我认为这是因为您的查询是错误的,只有在查询根本没有运行的情况下才会显示错误。

您是否尝试直接在sql控制台上运行sql?@perodriguezl现在就尝试了,我得到了#1064-您的sql语法有错误;我猜这是因为保留了单词name、start、end,但您认为可以在不更改所有字段名称的情况下修复它吗?您是否尝试过直接在sql控制台上运行sql?@perodriguezl现在尝试过,我得到了#1064-您的sql语法有错误;我猜这是因为保留了单词name,start,end,但是你认为不必更改所有字段名就可以修复它吗?我尝试用“”像这样包装字段名
'end'
,但是现在每当我使用postman时,我都会得到“error”:{“message”:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解第3行“名称”、“开始”、“结束”附近使用的正确语法是“`”而不是引号,“!”和“1”左侧的键盘按钮好吧,我试着用没有空格的'name',但现在我得到消息:SQLSTATE[23000]:完整性约束冲突:1048列“name”不能为NULL此帖子的问题已得到解决。错误消息是一个新错误,表示您试图在不允许为NULL值的数据库表字段中放置NULL值。请检查您的表结构。var_转储$id、$name、$start、$end,然后查看哪个字段为NULLmysql中的命令返回此错误#1064-您的SQL语法有错误;请查看与mysql服务器版本对应的手册,以了解在'21:29:06,
end
=2017-06-18 21:29:06附近使用的正确语法,其中第1行的
id
=1',我尝试过像这样将字段名用''包装起来
'end'
,但现在,当r i use postman i get“error”:{“message”:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在第3行的“name”、“start”、“end”附近使用的正确语法it is”`“不是引号,键盘按钮在“!”和“1”的左边,好的,所以我试着用没有空格的'name',但现在我得到消息:SQLSTATE[23000]:完整性约束冲突:1048列“name”不能为NULL此帖子的问题已得到解决。错误消息是一个新错误,表示您试图在不允许为NULL值的数据库表字段中放置NULL值。请检查您的表结构。var_转储$id、$name、$start、$end,然后查看哪个字段为NULLmysql中的命令返回此错误#1064-您的SQL语法有错误;请查看与您的mysql服务器版本对应的手册,以了解在'21:29:06,
end
=2017-06-18 21:29:06附近使用的正确语法,其中第1行的
id
=1'