0

我是 php 和 sql 的新手。

我试图在新用户注册时将用户名值存储在多个表中。

这是表格如何存储的屏幕截图。它是如何存储数据库表的屏幕截图

我希望用户名必须与其他值一起完美存储。

我使用了一个非常糟糕的代码将值一次存储在表中。

$query = mysqli_query($con, "INSERT INTO users VALUES ('', '$name', '$username', '$email', '$pass', '$gender', '$profile_pic', '$date', '$vkey', '', '0', '0', 'no', ',', '0')");
$query2 = mysqli_query($con, "INSERT INTO profilepage1 (username) VALUES('$username')");
$query3 = mysqli_query($con, "INSERT INTO profilepage2 (username) VALUES('$username')");

这是一个非常糟糕的方法。所以请帮我找出正确的

在这种情况下请帮助我。

4

1 回答 1

1

解决这个问题的最好方法是通过关系数据库构建。

将一个用户名存储在多个表中效率不高,而是:

  1. 在 ID 字段上设置一个自动递增主键
  2. 在需要用户名的表(表 2)上,使用 user_id 定义它是哪个用户。然后创建一个连接到表 1 的 user_id 的外键。

您应该研究Normalization。这对于 SQL 效率很重要。

当您使用 PHP 提取数据时,您可以使用用户 ID 跨多个表获取他们的所有信息。

于 2020-09-10T00:05:41.960 回答