使用 PHP (PDO) 在关系表中插入行[重复]

问题描述 投票:0回答:2

我有两个mysql表

Table1 : Columns (id(int pk), empid(int), status( varchar(1) ) )
Table2 : Columns (idfk(int fk), paycodeidfk(int fk), amount(int) )

关系:

Table1->id
是主键,
Table2->idfk
是外键

如何使用 PDO 在两个关系表中同时插入行。

php pdo
2个回答
0
投票

用于 php 代码

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// First Query
$stmt = $conn->prepare("INSERT INTO `Table1` (`id`, `empid`, `status`) VALUES (?,?,?)";
$stmt->execute([0, 11, 0]);

// Get lastInsrtId
$last_id = $conn->lastInsertId();

// Second Query
$stmt = $conn->prepare("INSERT INTO `Table2` (`idfk`, `paycodeidfk`, `amount`) VALUES (?,?,?);";
$stmt->execute([$last_id, 22, 99]);

-1
投票

如果您想在查询时保存,您可以执行以下操作:

INSERT INTO Table1 (empid, status) VALUES (1,2)
INSERT INTO Table2 (paycodeidfk, amount) VALUES(LAST_INSERT_ID(), 345)

此外,您可以将此查询与 PhP PDO 类一起使用(添加 paran 键而不是值项)。

© www.soinside.com 2019 - 2024. All rights reserved.