2

向两个表中插入数据的方法:

  • 我们确实转移了数据库中的第二个表。
  • 我为两个表建立了单独的连接。

表名是 transaction_held_record 我需要填写的列是:

  • transaction_desc
  • 产品代码
  • 产品名称
  • 售价

这是第一个表的示例代码:

include("system/connxn.php");

if (!isset($_POST['eid'])) customError("Failed: Invalid access.", $log);

//Columns for first table.

$eid = $_POST['eid'];
$customer = $_POST['customer'];
$title = $_POST['title'];
$startTime = $_POST['startTime']; 
$endTime = $_POST['endTime'];
$roomID = $_POST['roomID'];
$personnel = $_POST['personnel'];
$service = $_POST['service'];
$status = $_POST['status'];
$remarks = $_POST['remarks'];
$adjustment = $_POST['adjustment'];
$totalprice = $_POST['totalprice'];


$query_str = "UPDATE reservationlist SET `title` = '$title', `start` = '$startTime', `end` = '$endTime', `customer` = '$customer', `resource` = '$roomID', `personnel` = '$personnel', `services` = '$service', `status` = '$status', `remarks` = '$remarks', `totalprice` = '$totalprice', `modflag` = '$adjustment' WHERE id = $eid";
//echo $query_str;
mysql_query($query_str) or customError("Failed: (".mysql_errno().") ".mysql_error(), $log);
//echo mysql_insert_id();
$log->writelog("Update on table [reservationlist] record id: ".$eid);
echo "Saved";

感谢你们!

4

2 回答 2

2

您可以创建具有两 (2) 个函数的 PHP 类。一个函数接收要通过记录 id 更新到第一个表的值的参数(参数),另一个函数接收另一个表。例如:

class dbUpdates
{

function updateReservations($eid, $val1, $val2, $val3, $val4, $val5) {
mysql_query("UPDATE reservationlist SET ... WHERE id = $eid");
//do handling or some additional codes here...
}

function insertTransaction($recid, $val1, $val2, $val3, $val4, $val5) {
mysql_query("INSERT INTO transaction_held_record (reffield, val1field, val2field, val3field, val4field, val5field) VALUES($recid, $val1, $val2, $val3, $val4, $val5)");
//do handling or some additional codes here...
}

}

包含类文件include("dbUpdates.php"); 实例化类

$updateDB = 新数据库更新;

你可以调用函数$updateDB->updateReservations("your arguments here...");$updateDB->insertTransaction("your arguments here...");

希望这个对你有帮助...

于 2013-10-23T03:42:50.267 回答
0

如果我错了,请纠正我。您需要将数据插入两个不同的表中,在两个不同的数据库中?

为此,您需要两个连接和一个脚本。检查第一个脚本是否成功,然后运行第二个。

但是,如果您可以通过一个连接以某种方式访问​​两个表,则可以在一个操作中运行两个脚本!

更新:我认为您需要获取第一个表中插入行的 ID 并将其用于第二个表,对吗?

这样做:如何在 mysql 中获取 INSERTed 行的 ID?

更新:您可以在单个操作中进行多次更新、插入您想要完成的查询。例如:

$query = "UPDATE `tbl_something` SET col1 = 'first' WHERE col1 LIKE '%something%';INSERT INTO tbl_another (col1 , col2 , col5) VALUES ('firstValue' , 'secondValue' , 'fifthValue');UPDATE ... ; ";

然后用 mysq_query($query); 运行它

如果您愿意,您可以在查询中获取受影响行的 id,就像我之前提到的那样,并在下一个中使用它。

希望这有帮助

于 2013-09-23T09:20:08.910 回答