PHP 初心者です!
今データを更新する練習してるのですが、このコードでデータを更新すると

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

というエラーが出ますが 色々調べたんですが 何が違うのかわかりません。
初歩的な質問ですみません。お願いします!

<?php include "db.php";?>
<?php include "function.php";?>

<?php

if(isset($_POST['submit'])) {

    $username = $_POST['username'];
    $password = $_POST['password'];
    $id = $_POST['id'];

    $query = "UPDATE users SET ";
    $query .= "username = '$username', ";
    $query .= "password = '$password' ";
    $query .= "WHERE id = $id ";

    $result = mysqli_query($connection, $query);

    if(!$result) {
        die("query failed" . mysqli_error($connection));
    }
}

?>

function.phpのファイル

<?php include "db.php";

function showAllData() {

    global $connection;
    $query = "SELECT * FROM users";

    $result = mysqli_query($connection, $query);

    if(!$result){
        die('query connection failed' . mysqli_error());
    }

    while($row = mysqli_fetch_assoc($result)) {
        $id = $row['id'];
        echo "<option value=''>$id</option>";
    } 

}

db.phpのファイル

<?php

$connection = mysqli_connect('localhost', 'root', 'root','loginapp');

if(!$connection){
    die('Database connection failed');
}

?>