这是我的第一个UPDATE查询,我已经使用jQuery检查了任何空字段。我希望用户输入至少一个字段,然后更新该字段。用所有$ _POST名称进行查询可能会在我的数据库中生成空的或未定义的输入字段,这不起作用..这是我的查询:

$first = $_POST['first'];
$last = $_POST['last'];
$birth = $_POST['birth'];
$bio = $_POST['bio'];

$UID = $_SESSION['id'];

$query = "UPDATE `user` SET `firstname`=$first,`lastname`=$last,`birthday`=$birth,`biography`=$bio WHERE `user_id` = '$UID'";
$result = mysql_query($query) or die($result . "<br/><br/>" . mysql_error());


错误:
在第1行的'birthday =,biography = WHERE user_id ='11''附近使用的语法

我不想通过嵌套的if检查是否具有值。谢谢。

最佳答案

注意:使用mysql_real_escape_string()防止SQL注入。

if( !empty($first) &&
    !empty($last) &&
    !empty($birth) &&
    !empty($bio) ){

$query = "UPDATE `user`
             SET
               `firstname`='$first',
               `lastname`='$last',
               `birthday`='$birth',
               `biography`='$bio'
           WHERE `user_id` = '$UID'";
}

关于php - MySQL UPDATE查询-处理空输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20782276/

10-13 02:03