我的数据库中有两个表。我使用第一个进行登录/注册过程,我存储用户信息(名称,电子邮件,密码)。因此,我创建了第二个表,其中注册用户可以添加产品图像和名称,但我发现2个表无法进行交互,并且他们无法使用第二个表。
请问,我该怎么做?
如果您需要更多信息,请与我们联系。
答案 0 :(得分:0)
您可以在foreign key relationships
。
参考:http://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html
注意:除非您拥有其他表的关系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。希望我的解释清楚明白,它会对你有所帮助。
快乐编码:)