Php 具有更改权限的并发可访问mysql用户

Php 具有更改权限的并发可访问mysql用户,php,mysql,privileges,Php,Mysql,Privileges,我正在开发一个使用php和mysql预订学校计算机房的系统,其中将有多个用户代表需要预订房间的每位教师 我的问题是,我希望每个用户都可以编辑自己的预订和帐户设置(例如密码),而不必修改其他用户的数据。通过修改查询,我可以很容易地在php代码中实现这一点,但我不知道如何在mysql中实现这一点 我已经了解到,您不能按行设置mysql权限,最多只能按列设置,因此,如果我的理解是正确的,则不可能为每个教师设置多个对应的mysql用户,这些用户只能使用其用户id访问预订。我也认为这是一个糟糕的解决方案,

我正在开发一个使用php和mysql预订学校计算机房的系统,其中将有多个用户代表需要预订房间的每位教师

我的问题是,我希望每个用户都可以编辑自己的预订和帐户设置(例如密码),而不必修改其他用户的数据。通过修改查询,我可以很容易地在php代码中实现这一点,但我不知道如何在mysql中实现这一点

我已经了解到,您不能按行设置mysql权限,最多只能按列设置,因此,如果我的理解是正确的,则不可能为每个教师设置多个对应的mysql用户,这些用户只能使用其用户id访问预订。我也认为这是一个糟糕的解决方案,即使它是可能的,因为它创建了许多不必要的mysql用户,他们的权限基本相同,所以我的问题是:

我可以让一个mysql用户只修改当前登录用户的数据,而其他用户也可以同时访问该数据,并且权限与该用户相关吗


或者,考虑到用户只能通过web界面访问数据库,而mysql用户仅限于@localhost,作为安全措施是否有必要这样做?

IMHO,行级权限应该由您的业务逻辑实现。大多数PHP/MySQL应用程序使用单个数据库用户并实现自己的授权层。@ZombieHunter好的,那么我应该让单个用户拥有足够的权限来覆盖所有用户和管理功能,而PHP设置为仅强制当前用户有权访问的某些查询吗?基本上是的。也许值得创建两个MySQL用户,一个用于后端或管理任务(可能需要DDL权限),另一个用于常规站点访问者使用的前端(只有DML权限)。实际站点用户是存储在[user]/[account]表中的用户。每个站点对象都被分配给一个拥有修改该对象的适当权限的所有者。@ZombieHunter好的,没有一个管理员需要DDL权限,因此我将只为应用程序使用一个DML用户,并在需要时添加一个DDL用户。谢谢你的帮助,我想我现在可以继续工作了。顺便问一下,我怎样才能将这个问题标记为已解决?只有在有答案的情况下,你才能将一个问题标记为已解决,但我认为我的问题不够详细,无法作为答案。