php - 通过用户名而不是 ID 建立关系

标签 php mysql

所以可以说我有一个用户表,然后是一个 user_profile 表。为了连接关系,user_profile 表中会有一个 user_id 行。现在,当我构建应用程序时,我喜欢让我的 url 显示用户名而不是 user_id 示例:

http://www.example.com/username/profile

不是:

http://www.example.com/user_id/profile

所以我发现自己所做的就是通过用户名获取 user_id,然后获取个人资料信息,这只是无缘无故地添加了一个额外的查询。我的问题是我是否可以通过用户名建立关系,该用户名与用户表中的 id 行一样唯一。或者这是不好的做法,我应该坚持使用 user_id?

最佳答案

更好的想法是使用 user_id 来连接表,但提供用户名作为参数。像这样的东西:

select p.*
  from users u
     , profiles p
 where u.id = p.user_id
   and u.username = ?

关于php - 通过用户名而不是 ID 建立关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24638095/

相关文章:

php - 如何从数据库中一次检索1条记录

php - 我用于将 Android 应用程序连接到 phpMyAdmin 数据库的 php 代码无法正常工作

php - 连接表并用指定值替换空值

python - 下载适用于 Python 的 SQL 时出错

mysql - 如何在 WP_Query 中按日期排序?

javascript - 如何使用 PHP、javascript mysql 事务将输入的数组值插入到数据库中

php - TCPDF MYSQL数据检索并打印在html表格中

php - PDO MySQL 将每天的计数加载到数组中

php - Mysql 表在云 9 中未显示为 html 表

php - 如何检查我的服务器是否分配了任何 cron 作业