在一个 php 脚本中将数据插入到两个表中


Insert data into two tables in one php script

将数据

插入两个表的方法:

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

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

  • transaction_desc
  • product_code
  • product_name
  • 销售价格

下面是第一个表的示例代码:

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";

谢谢你们!

您可以创建一个具有两 (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...");

希望这有所帮助...

如果我

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

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

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

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

像这样做: 如何在 mysql 中获取插入行的 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,就像我之前提到的一样,并在下一个查询中使用它。

希望这有帮助