【问题标题】:How to update multiple rows php如何更新多行php
【发布时间】:2015-06-15 10:03:37
【问题描述】:

我想更新多行

这是我的 html 代码:

<form action="" method="POST">
<input type="text" name="name" placeholder=""/>
<input type="text" name="phone" placeholder=""/>
<input type="text" name="blood" placeholder=""/>
<input type="text" name="id" placeholder=""/>
<input type="text" name="email" placeholder=""/>
<input type="submit" name="sub" value=""/>
</form>

这是我的 php 代码:

  if(isset($_POST['sub'])) {
    $name = $_POST['name'];
    $phone = $_POST['phone'];
    $blood = $_POST['blood'];
    $id = $_POST['id'];
    $email = $_POST['email'];
    if($name or $phone or $blood or $id or $email) {
      $res_11 = mysql_query("UPDATE `general_info` SET `name`='$name',`phone`='$phone',`blood`='$blood',`id_2`='$id',`email`='$email'  WHERE `id`='1'") or die(mysql_error());
    }
  }else{
    echo "ERROR";
  }

我有这样的桌子

name | phone | blood

我想如果某些正文只更新一行更新

如果只写新手机更新只是手机在数据库中

【问题讨论】:

  • 您的 PHP 包含语法错误。另外,停止使用已弃用的mysql_* 函数
  • @raptor 谢谢我使用 mysqli_* 但我只是用这段代码询问如何更新多行

标签: php


【解决方案1】:

试试这个代码:

 if(isset($_POST['sub'])) {
     $subQuery = "";
     if(isset($_POST['name']) && $_POST['name'] != "") {
         $subQuery .= " name = '". $_POST['name'] ."',";
                $name = $_POST['name'];
     }
     if(isset($_POST['phone']) && $_POST['phone'] != "") {
         $subQuery .= " phone = '". $_POST['phone'] ."',";
                 $phone = $_POST['phone'];
     }
     if(isset($_POST['blood']) && $_POST['blood'] != "") {
         $subQuery .= " blood = ". $_POST['blood'] .",";
                 $blood = $_POST['blood'];
     }

     if(isset($_POST['email']) && $_POST['email'] != "") {
         $subQuery .= " email= '". $_POST['email'] ."',";
                 $email = $_POST['email'];
     }
     if(isset($_POST['id']) && $_POST['id'] != "") {
         $subQuery .= " id_2 = '". $_POST['id'] ."',";
                 $id = $_POST['id'];
     }

    if($name or $phone or $blood or $id or $email) {
      $res_11 = mysql_query("UPDATE `general_info` SET ". substr($subQuery, 0, -1) ."  WHERE `id`='1'") or die(mysql_error());
    }
  }else{
    echo "ERROR";
  }

【讨论】:

  • @user4965442 现在检查一下。我已经更新了答案。
【解决方案2】:

我认为这就是你想要做的。但是不要使用 mysql 使用 PDO 或 mysqli。

if (isset($_POST['sub'])) {
    $name = $_POST['name'];
    $phone = $_POST['phone'];
    $blood = $_POST['blood'];
    $id = $_POST['id'];
    $email = $_POST['email'];
    //check if not empty
    if ($name != "" && $phone != "" && $blood != "" && $id != "" && $email != "") {
        $res_11 = mysql_query("UPDATE `general_info` SET `name`='$name',`phone`='$phone',`blood`='$blood',`id_2`='$id',`email`='$email'  WHERE `id`='1'") or die(mysql_error());
    }
} else {
    echo "ERROR";
}

【讨论】:

    猜你喜欢
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 2014-04-05
    相关资源
    最近更新 更多