Mysql UPDATE不会更新数据

时间:2015-06-09 13:20:44

标签: php mysql mysqli

使用我的PHP文件使用Mysql数据库更新数据时,我遇到了一个奇怪的问题。

这里是我在file.php中的代码:

https://mysite/phpfile/file.php?id=224

我在浏览器中调用它,例如:

$id = 224;

但它不会更新我的数据。如果我直接更改$ id,如:

<?php

    $json = '[{"user_id":13,"username":"stack"},{"user_id":14,"username":"over"}]';
    //$json = '12';

    function isJson($string) {
        json_decode($string);
        if(json_last_error() == JSON_ERROR_NONE) {
            if(substr($string,0,1) == '[' && substr($string,-1) == ']') { return TRUE; }
            else if(substr($string,0,1) == '{' && substr($string,-1) == '}') { return TRUE; }
            else { return FALSE; }
        }
    }

    echo isJson($json);
?>

它会更改我的数据。

如何解决此问题?

1 个答案:

答案 0 :(得分:-1)

你应该替换

$data = json_decode(file_get_contents("php://input"));
$id = mysqli_real_escape_string($con, $data->id);

id = mysqli_real_escape_string($con, $_REQUEST['id']);

您正在通过输入流读取原始请求数据,然后您从JSON解码它(虽然您正在读取的流不是JSON格式)然后您转义id(当然不存在)。 您正在寻找的ID已经由PHP放在$ _REQUEST超全局中。不需要其他所有......