MySQL UPDATE查询 - 处理空输入

时间:2013-12-26 09:23:58

标签: php mysql

这是我的第一个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());

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

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

1 个答案:

答案 0 :(得分:1)

注意:使用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'";
}