将1个输入放入2个mysql数据库

时间:2015-05-07 07:53:46

标签: php mysql

我想知道是否可以将寄存器表单的1个输入字段的内容放入2个不同的表(即电子邮件地址到login和user_account表中) - 这是更新的问题。

3 个答案:

答案 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