UPDATE语句是否适用于WHERE?

时间:2017-09-23 16:47:44

标签: php mysql

我为我的登录和注册系统编写了一些代码。 在我的注册系统中,我已经包含了这段代码:

<?php 
    $sql3="UPDATE users SET 
            firstname='$firstname', lastname='$lastname',
            password='$password',bio='$bio',
            dob='$dob',gender='$gender' 
?>

但是,当然,这只会更新users表中的所有行。 但是当我补充说:

<?php WHERE username=$username ?>

我会收到一个错误:你的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以获得在&#39;&#39;附近使用的正确语法。在第1行。

让我说清楚,这不是一个错误问题,我知道问题是什么。我只是想知道如何解决我的代码问题,以便它不会更新整个表而不只是一个用户行。提前谢谢。

1 个答案:

答案 0 :(得分:-1)

是的,他们确实有效。 WHERE子句实际上会帮助您更新特定的行,否则它将更新表的所有行。

 UPDATE TABLE_NAME SET COLUMN_NAME=<VALUE> WHERE COLUMN_NAME=<VALUE>;

因此,在username子句中放置WHERE之类的标识符列将避免更新所有行。

使用准备好的陈述

 UPDATE users 
 SET firstname=?, lastname=?,password=?,bio=?, dob=?, gender=? 
 where username=?