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

在一个php脚本中将数据插入到两个表中,php,mysql,sqlyog,Php,Mysql,Sqlyog,将数据插入两个表的方法: 我们确实传输了数据库中的第二个表 我分别连接了两张桌子 表名是交易记录 我需要填写的列是: 事务描述 产品代码 产品名称 售价 以下是第一个表的示例代码: include("system/connxn.php"); if (!isset($_POST['eid'])) customError("Failed: Invalid access.", $log); //Columns for first table. $eid = $_POST['eid'];

将数据插入两个表的方法:

  • 我们确实传输了数据库中的第二个表
  • 我分别连接了两张桌子
表名是交易记录 我需要填写的列是:

  • 事务描述
  • 产品代码
  • 产品名称
  • 售价
以下是第一个表的示例代码:

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

谢谢你们

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

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

但是,如果您可以通过一个连接访问两个表,那么您可以在一个操作中运行两个脚本

更新:我认为您需要获取第一个表中插入行的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,就像我前面提到的,并在下一个查询中使用它


希望这有帮助

您可以创建一个包含两(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->updateservations(“此处的参数…”)
$updateDB->insertTransaction(“此处的参数…”)


希望这有点帮助…

相关:只在一个数据库中,但不同的表和不同的ID。我想这个链接不是我问题的答案,但我很感激。我只想将它插入到第二个表中,但列名称不同。使用条件。您可以在一个操作中运行两个更新脚本!只需用分号将它们分开,并对它们使用条件,就完成了。。。;更新保留列表集….;';一次完成所有操作。顺便说一句,将未过滤的数据插入数据库是不安全的!你有这种情况的例子吗?我没有得到你的解释。你能再解释一下你到底想做什么,你想从中获得什么?