我想知道是否可以将寄存器表单的1个输入字段的内容放入2个不同的表(即电子邮件地址到login和user_account表中) - 这是更新的问题。
答案 0 :(得分:3)
简单的东西:
$conn1 = "database1"; //your first database connection
$conn2 = "database"; //your second database connection
$email = mysqli_real_escape_string($conn1, $_POST['email']);
$query = "INSERT INTO table (email) VALUES ($email)";
$run1 = mysqli_query($conn1 , $query);
$run2 = mysqli_query($conn2 , $query);
编辑: 阅读完评论之后,它不是使用多个表连接到的2个数据库,只有一个。所以:
$conn = //database connection
$email = $_POST['email'];
$query = "INSERT INTO table (email) VALUES ($email)";
$query2 = "INSERT INTO table2 (email) VALUES ($email);
$run = mysqli_query($conn , $query);
$run = mysqli_query($conn , $query2);
答案 1 :(得分:0)
是的,您只需在php脚本中执行两个语句即可轻松管理它。 下次,添加您尝试过的代码,以便我们可以更具体地回答您的问题。
答案 2 :(得分:0)
您可以使用trigger在第一个表更新时自动更新第二个表。 例如,如果要将 login 表中的 email 字段的每个值复制到 user_accounts 表中,则可以使用此mysql命令:
CREATE TRIGGER `duplicate_insert`
AFTER INSERT ON `login`
FOR EACH ROW
INSERT IGNORE INTO user_accounts(email)
VALUES (NEW.email)
因此,每次在 login.email 字段中插入新记录时,它也会插入 user_accounts.email 字段。 无论如何,这个解决方案会产生冗余,所以如果你想保留数据备份或处理非常重要的信息,你应该使用它。
否则,请考虑使用foreign key。