同时删除和插入记录PHP

时间:2015-11-26 09:43:58

标签: php sql

您好我打算在点击提交的同时删除和插入值,它会删除旧值,同时会插入新值

这是我的代码。

<?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));
   } 
} 
?>

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

请帮帮我。感谢

2 个答案:

答案 0 :(得分:0)

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

您可以使用INSERT... OR UPDATE语句代替DELETEINSERT来接近您希望实现的任务。

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

E.g

  

INSERT INTO productcolor(productinformationID,colorName)VALUES(&#34; foo&#34;,&#34; bar&#34;)ON DUPLICATE KEY UPDATE productinformationID = VALUES(productinformationID),colorName = VALUES(colorName)

答案 1 :(得分:0)

                  <?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);
              }

            ?>