同时删除和插入记录 PHP

Posted

技术标签:

【中文标题】同时删除和插入记录 PHP【英文标题】:Delete and Insert record at the same time 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));
    
 
?>

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

请帮助我。谢谢

【问题讨论】:

只要打印一些虚拟消息,检查它正在使用哪个分支。 php.net/manual/ro/pdo.begintransaction.php $color1 的值是多少??同时显示您的表单代码! 为什么不只是update 使productinformationID 独一无二并使用REPLACE INTO 【参考方案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);
              

            ?>

【讨论】:

以上是关于同时删除和插入记录 PHP的主要内容,如果未能解决你的问题,请参考以下文章

CoreData 在插入和删除时崩溃同时发生

同时插入和删除 UITableViewCell 不起作用

UITableView 中同时插入/删除行的问题

Hibernate:10个或更多用户同时插入记录时出现异常

如何使用php和ajax删除多条记录

如何将记录同时插入到两个数据库表中?