如何使用php与mysql中的表进行交互。

时间:2016-10-15 06:35:23

标签: php mysql

我的数据库中有两个表。我使用第一个进行登录/注册过程,我存储用户信息(名称,电子邮件,密码)。因此,我创建了第二个表,其中注册用户可以添加产品图像和名称,但我发现2个表无法进行交互,并且他们无法使用第二个表。

请问,我该怎么做?

如果您需要更多信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

您可以在foreign key relationships

的帮助下完成此操作

参考:http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html

  • 首先,您必须使用第一个表中的关系ID(外键)创建表,以便您可以获取数据。
  • 在您向查询提供外键后,您可以使用可用的联接,您可以获取数据。
  

注意:除非您拥有其他表的关系ID,否则不建议您使用JOIN查询,因为您必须将关系ID(外部KEY)传递给join stmt。< / p>

用于从第一个表本身创建外键ID的SQL语句。

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)

当创建“订单”表时,以下SQL在“P_Id”列上创建一个FOREIGN KEY

在为您创建的两个表创建外键之后,您可以在此处跟踪代码,然后您可以加入这两个表。

http://dev.mysql.com/doc/refman/5.7/en/join.html

  

您必须像这样创建表结构:

用户信息表:

+------------------------------------------+
| id   |   name   |   Email   |  Password  |    
+------------------------------------------+

产品表就像这样

+------------------------------------------+
| id   |   user_id   |   product_name      |    
+------------------------------------------+
  • 此处user_id在访问产品表时将充当user表的外源。

因此,守则将如下。

要从两个表中获取所有数据:

$query = "SELECT * FROM user JOIN product ON user.id = product.user_id ORDER BY user.id DESC"

根据特定用户获取数据。

$query = "SELECT * FROM user JOIN product ON user.id = product.user_id WHERE user.id ='".$id."'"
  • 其中$id是当前用户的ID。

希望我的解释清楚明白,它会对你有所帮助。

快乐编码:)