我正试图用以下代码将信息从表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
即使我自己运行字符串,我也会得到相同的错误
更换
if (mysql_query($sql1, $con)) { //because $sql1 doesn't exist as per your code.
带有
if (mysql_query($sql2, $con)) {
您应该首先将mysql_*函数更改为mysqli或PDO。因为整个mysql_*函数在未来的版本中将被弃用
您的代码中没有$sql1
变量,因此您无法使用它。您可能想要使用$sql2
。
另外,考虑移动到PDO
或mysqli_*
,因为mysql_*
已弃用,并且将从PHP中删除。
接下来就是您的第一个查询不正确。将其拆分为两个单独的查询。
您需要在第二个查询中将$sql1
更改为$sql2
。
//Delete from members
$sql2 = "DELETE FROM members WHERE member_id='$member_id'";
if (mysql_query($sql2, $con)) {
复制粘贴:
//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);
}