mariadb中的语法更新id失败

o75abkj4  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(338)

当我尝试使用php更新db中的表时,出现以下错误。
查询失败您的sql语法有错误;请检查与您的mariadb服务器版本对应的手册,以获取在第1行的“”附近使用的正确语法
(第一行是我的查询开始的地方)
我的结论是这和 "id"  但我不知道是什么。如果我硬编码为 "WHERE id = 1" 它工作,但它似乎真的看不到身份证。

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));    
    }  
}

下面是我用于id的hthml:

<form action="login_update.php" method="post">

<div class="form-group">
            <select name="id" id="">
        <?php
    global $connection; 
            $query = "SELECT * FROM users";
            $result = mysqli_query($connection, $query);
            if(!$result){ //om result inte är TRUE then die()
                die('Query failed ' .mysqli_error());
            }

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

</div>

  <input class="btn btn-primary" type="submit" name="submit" value="Update">

        </form>

我在localhost上运行这个程序,所以不需要任何散列,到db的连接也可以正常工作。

swvgeqrz

swvgeqrz1#

添加如下查询:

$query .= "WHERE id = '$id' ";
6l7fqoea

6l7fqoea2#

为选择框选项添加值

echo "<option value='$id'>$id</option>";

相关问题