PHP在SQL表之间移动信息

时间:2013-12-05 10:43:48

标签: php mysql sql

我正在尝试使用以下代码将信息从表A移动到表B.同时,一旦信息移动到表A

,我想删除表B中的行
 //Move from table A to table B
        $sql = "insert into del_ussd_members SELECT * FROM members WHERE 
 member_id='$member_id'";    

if (mysql_query($sql, $con)) {
            $insertSuccessful = true;
        } else {
            echo $sql;
            print_r($_POST);
           echo "\n" . mysql_error($con);             echo "mysql err no : " .   
 mysql_errno($con);
        }
 //Delete from members
        $sql2 = "DELETE FROM members WHERE member_id='$member_id'";      

if (mysql_query($sql1, $con)) {
         $insertSuccessful = true;
      } else {
           echo $sql1;
          echo "\n" . mysql_error($con);
          echo "mysql err no : " . mysql_errno($con);
        }

移动没有问题,但删除功能给了我以下错误

 Query was emptymysql err no : 1065

即使我自己运行字符串,我也会得到同样的错误

4 个答案:

答案 0 :(得分:2)

替换

if (mysql_query($sql1, $con)) {  //because $sql1 doesn't exist as per your code.

if (mysql_query($sql2, $con)) {


您应该首先将mysql_ *函数更改为mysqli或PDO。因为将在以后的版本中弃用整个mysql_ *函数。

答案 1 :(得分:1)

代码中没有$sql1变量,因此您无法使用它。您可能想要使用$sql2

另外,请考虑迁移到PDOmysqli_*,因为mysql_*已弃用,将从PHP中移除。

接下来是您的第一个查询不正确。将其拆分为两个独立的查询。

答案 2 :(得分:1)

您需要在第二次查询中将$sql1更改为$sql2

  //Delete from members

  $sql2 = "DELETE FROM members WHERE member_id='$member_id'";      

   if (mysql_query($sql2, $con)) {

答案 3 :(得分:0)

复制粘贴:

//Move from table A to table B
        $sql = "insert into del_ussd_members SELECT * FROM members WHERE 
 member_id='$member_id'";    

if (mysql_query($sql, $con)) {
            $insertSuccessful = true;
        } else {
            echo $sql;
            print_r($_POST);
           echo "\n" . mysql_error($con);             echo "mysql err no : " .   
 mysql_errno($con);
        }
 //Delete from members
        $sql2 = "DELETE FROM members WHERE member_id='$member_id'";      

if (mysql_query($sql2, $con)) {
         $insertSuccessful = true;
      } else {
           echo $sql2;
          echo "\n" . mysql_error($con);
          echo "mysql err no : " . mysql_errno($con);
        }