php - MySQL UPDATE 查询 - 处理空输入

标签 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());

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

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

最佳答案

注意:使用mysql_real_escape_string()来防止sql注入(inject)。

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/

相关文章:

php - Laravel Controller - 在另一个函数中调用函数

php - 禁用购物车页面

php - 显示上传的图像

java - 在 Java 的 PreparedStatement 中使用大于或等于 (>=)

php - 使用 PHP 将文本插入 MySQL 数据库时出现字符集问题

php - 自定义数组验证 - Lumen

php - Laravel 使用 Route::resource 生成路由需要添加 prefix/admin/

mysql - 如何用字符串+ColY数据+字符串更新所有ColX

MySQL ALL 运算符的问题

mysql - 我的 MySQL 查询的处理时间非常慢。我怎样才能加快速度?