【问题标题】:Delete and Insert record at the same time PHP同时删除和插入记录 PHP
【发布时间】:2016-02-29 08:19:29
【问题描述】:

您好,我计划在点击提交时同时删除和插入值,它将删除旧值并同时插入新值

这是我的代码。

<?php    
if (isset($_POST['submit'])) {    
  $color1 = $_POST['color1'];
  $count = count($color1);       
  for ($x = 0; $x <=$count; $x++) {
    $savecolor = $color1[$x];
    $stmt = $db->prepare("DELETE FROM productcolor WHERE productinformationID =  :field0");
    $stmt->execute(array(':field0' => $prodID));    
    $stmt = $db->prepare("INSERT INTO productcolor(productinformationID,colorName) VALUES(:field0,:field00)");
    $stmt->execute(array(':field0' => $prodID, ':field00' => $savecolor));
   } 
} 
?>

它只会删除我的值,我的数据库中没有保存任何值..

请帮助我。谢谢

【问题讨论】:

  • 只要打印一些虚拟消息,检查它正在使用哪个分支。
  • $color1 的值是多少??同时显示您的表单代码!
  • 为什么不只是update
  • 使productinformationID 独一无二并使用REPLACE INTO

标签: php sql


【解决方案1】:

PHP 中的 mysql 支持不允许在一个查询中使用多个 statemet,因此您无法删除一行并更新同一查询。

您可以使用INSERT... OR UPDATE 语句代替DELETEINSERT 来接近您想要完成的任务。

http://dev.mysql.com/doc/refman/5.7/en/insert-on-duplicate.html

例如

INSERT INTO productcolor(productinformationID,colorName) VALUES("foo", "bar") ON DUPLICATE KEY UPDATE productinformationID=VALUES(productinformationID), colorName=VALUES(colorName)

【讨论】:

  • 我认为他只是想要一个 UPDATE 语句:o
  • 因为他也在他的代码中使用INSERT,所以结合INSERT 并建议UPDATE 可以保护他的一个数据库查询。还是我错了?
  • "在 SQL Server 中使用 replace into 可以吗?" - 他没有使用 MySQL。
  • 在我写答案时没有得到该信息:)
【解决方案2】:
                  <?php
                global $wpdb;
            if(isset($_POST['submit'])) {
                    $checkBox =$_POST['chk1'];
                    $wpdb->query( "DELETE FROM wp_vandor WHERE parent_id = '".$user_id."'" );
                foreach($checkBox as $checkedfv){
                        $wpdb->query("INSERT INTO wp_vandor  (parent_id, child_id) VALUES ('".$user_id."', '".$checkedfv."')");
                    }
                    $crpurl = home_url('favorite-vendors');
                    header("Location: ".$crpurl);
              }

            ?>

【讨论】:

    猜你喜欢
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 2011-11-27
    相关资源
    最近更新 更多