php - 将数据插入2个表php

标签 php mysql database paypal

我环顾四周,我看到类似的问题已经得到解答,但我仍然无法弄清楚(一如既往,我是一个完全的菜鸟,需要体面的解释)

我有一个 users.db(userId、mmbrship、mmbrship_date)还有一些值,但这些是我需要更新的值。

然后我有一个 payments.db(id、txnid、payment_amount、payment_status、itemid、createdtime)

在我的 functions.php 中我有这段代码:

function updatePayments($data){ 
    global $link;
    if(is_array($data)){                
       $sql = mysql_query("INSERT INTO `payments` (txnid, payment_amount, payment_status, itemid, createdtime) VALUES (
               '".$data['txn_id']."' ,
               '".$data['payment_amount']."' ,
               '".$data['payment_status']."' ,
             '".$data['item_number']."' ,
                '".date("Y-m-d H:i:s")."' 
    )", $link);

    return mysql_insert_id($link);
    }
}

我需要将 payments.db 中的值“itemid”和“createdtime”插入到“mmbrship”、“mmbrship_date”中的 users.db

我需要将 users.db 中的“userId”插入到 payments.db (将用户与其购买联系起来)

这样我就可以从 users.db 获取信息,如果成员(member)已经支付了他们的成员(member)费,就像现在一样,payments.db 插入它自己的 ID。 所以我认为如果我可以将这两个表与 userId 连接起来,我可能是朝着正确方向迈出的一步......

?请帮助:)

最佳答案

看起来您的数据库设计缺少 user 实体和 payment 实体之间的关系

(在 ER 建模术语中,实体(大致)是可以唯一标识的人、地点、事物、概念或事件,我们需要存储有关并且很重要的信息...)

为了确定实体之间关系的基数,我们会提出一系列问题,例如:

  • 一个用户可以与多个payment相关吗?

  • 用户能否与零个支付关联?

  • 单个支付是否可以与多个用户相关?

根据对那些(和类似)问题的回答,我们可以确定userpayment 之间的关系是否是一对一,一对一许多,或多对多,以及它是强制性的还是可选的。

我怀疑在您的模型中,付款 将只与一个用户 相关。 (也就是说,给定的付款不会应用于多个用户。)给定的用户有可能有零个、一个或多个付款

如果是这样,那就是一对多关系,规范模式是将user实体的主键存储为payment上的一列> 表,并定义外键关系。

例如

  ALTER TABLE payment ADD `userId` INT UNSIGNED COMMENT 'fk ref user' ;

  ALTER TABLE payment ADD CONSTRAINT FK_payment_user 
    FOREIGN KEY (userId) REFERENCES user (userId)
    ON UPDATE CASCADE ON DELETE RESTRICT ;

然后,在向payment 表中插入一行之前,您需要弄清楚这与哪个user 相关,并为 提供一个值userId 列建立此付款与其相关用户之间的关系

如果paymentuser 无关,则在该列中存储一个NULL 值。如果您希望要求payment 与用户相关,则在该列上添加NOT NULL 约束。

paymentuserId 列的数据类型应与useruserId 列的数据类型匹配。 (在上面的示例中,我只是猜测了 userId 列的数据类型。)


在关系数据库中,两个不同表中的行之间的关系是通过在两个表的列中存储公共(public)值来建立的。

关于php - 将数据插入2个表php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30991165/

相关文章:

php - 如何在字符串后追加文件? PHP

android - 在sqlite中以树结构从数据库中获取数据

java - 如何检查Android中是否存在数据库?

php: strtotime 如何获得去年七月? (或其他特定月份)

php - 在单独的 php 文件上定义 Bootstrap 按钮

php - Laravel 5 - 在 Rest API 服务器上自定义 JSON 响应

php - 我不明白为什么我会收到此错误

java - Mysql异常“超出范围”?

c# - 通过Visual Studio 2010 C#访问sql 2008数据库

php - 选择似乎不起作用