php - 两个单独的表,如何检查用户是否是更新其他表的所有者

标签 php mysql sql phpmyadmin

我必须表 与用户合一 其他带图片

它们都有一个共同的列,即“类型”,例如“景观”

仅当登录者的“类型”与图像相同时,如何更新图像中的行

$sql = "UPDATE images SET display=? WHERE id =?";
$query = $this->db->prepare($sql);
$query->execute(array($action, $id));

现在可以了,我只需要添加安全性,这样任何用户都不能更新任何行。 在我的 session 中,我有“类型”,我是否只需进行另一个查询,从图像中获取“类型”,然后进行比较并将它们分开?

最佳答案

您可以根据登录用户的用户数据进行检查。

$sql = "UPDATE images SET display=? WHERE id =? AND type=?";
$query = $this->db->prepare($sql);
$query->execute(array($action, $id, $user_data->type));

这更安全一些,但同一类型的用户仍然可以更新所有图像,也许这是正确的行为。如果没有,请通过另一个查询定义哪些用户可以访问/更新图像。

关于php - 两个单独的表,如何检查用户是否是更新其他表的所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23763491/

相关文章:

php - OAuth - 开源应用程序中的消费者 secret

mysql - 无法创建存储过程

SQL Server 2005 SP 中有条件地分配变量

mysql - 删除一个表中给定另一表中的值的行-SQLite

php - 将数据库与外部表连接

php - 上传 mp3、doc、ppt、sql、zip、tar、rar 文件

php - 如何通过laravel将html表中的数据存储到mysql中

PHP和MYSQL最大可变长度?

sql - 在SQLite中CREATE UNIQUE INDEX或INTEGER PRIMARY KEY的性能更高吗?

php - 同一 Beanstalkd 队列上的多个站点