-4

我想对两个不同的表使用两个不同的插入语句,例如

<?
mysql_query("INSERT INTO Customer (ID,Name,Subject, OrderDate) VALUES ('$ID', '$name', '$status', '$ODate')");
mysql_query("INSERT INTO Order (ID,Subject, Department, Status, OrderDate, Receive, Notes) VALUES ('$ID', '$status', 'Financial', 'Financial Department', '$ODate', 'NO', 'Notes')");
?>

它只适用于第一个表,不适用于第二个表。

有人可以帮助解决这个问题吗?

谢谢

4

2 回答 2

2

您需要检查错误:

<?php
$query1 = "INSERT INTO Customer (ID,Name,Subject, OrderDate) VALUES ('$ID', '$name', '$status', '$ODate')";
if(!mysql_query($query1)) {
  throw new Exception(mysql_error());
}

$query2 = "INSERT INTO Order (ID,Subject, Department, Status, OrderDate, Receive, Notes) VALUES ('$ID', '$status', 'Financial', 'Financial Department', '$ODate', 'NO', 'Notes')";
if(!mysql_query($query2)) {
  throw new Exception(mysql_error());
}

我猜你得到了一个错误,因为Order它是 MySQL 中的一个保留字,应该相应地转义:

$query2 = "INSERT INTO `Order` (ID,Subject, Department, Status, OrderDate, Receive, Notes) VALUES ('$ID', '$status', 'Financial', 'Financial Department', '$ODate', 'NO', 'Notes')";

在我看来,您好像在插入一个固定值作为主键 - 您确定这就是您想要的吗?


正如我在评论中所说,您应该mysql_完全停止使用函数并改用 MySQLi 或 PDO。

于 2012-05-20T06:21:42.707 回答
0

首先感谢 DCoder 帮助我解决问题并建议我使用 PDO 和 MySQLi。

问题出在表名Order上,当我用新名称替换它时,它工作正常。

我认为使用两个有问题,mysql_query但事实并非如此。我使用的表名是 MySQL 中的保留字。

谢谢

于 2012-05-21T21:47:40.617 回答