限制用户可以在访问MySQL的PHP应用程序中检索的信息的正确方法是什么?

限制用户可以在访问MySQL的PHP应用程序中检索的信息的正确方法是什么?,php,mysql,sql,Php,Mysql,Sql,我正在创建一个在线界面,连接到我们的内部订单数据库,最终客户将能够查看我们在系统中的订单等 我有一个基本的界面设置和工作,也就是说,我可以在我们的订单数据库中通过引用搜索订单,并将其返回到一个表中等。有一些基础知识,但我无法理解如何限制每个用户的订单数量,因此用户a无法搜索用户B下的订单 我将以非常简单的形式解释我们的数据库: 我们有一个订单表,其中包含订单号,创建日期,客户号等内容 我现在应该创建一个在线\u用户表,并将每个用户链接到订单表中相应的客户编号,还是有更好的方法?我是否应该在我们的

我正在创建一个在线界面,连接到我们的内部订单数据库,最终客户将能够查看我们在系统中的订单等

我有一个基本的界面设置和工作,也就是说,我可以在我们的订单数据库中通过引用搜索订单,并将其返回到一个表中等。有一些基础知识,但我无法理解如何限制每个用户的订单数量,因此用户a无法搜索用户B下的订单

我将以非常简单的形式解释我们的数据库:

我们有一个
订单
表,其中包含
订单号
创建日期
客户号
等内容

我现在应该创建一个
在线\u用户
表,并将每个用户链接到
订单
表中相应的
客户编号
,还是有更好的方法?我是否应该在我们的
customers
表中添加
online\u user
online\u pass
列,并且只允许每个客户帐户使用单个用户和密码

然后我们进入实际的在线登录,我可以创建一个表单来连接和识别用户,并允许他们登录,这一部分是可以的,但是我如何在登录过程中以某种方式存储他们来自哪个客户帐户,以及如何在以后的SQL查询中使用它?我想我可以添加一个cookie,其中包含登录时返回的任何客户帐户,但这肯定不安全,用户可以将其编辑到另一个客户帐户

编辑:我想问的是如何将SQL结果限制为仅与用户关联的公司

$q = "SELECT * 
      FROM orders
      WHERE customer_number = SOMETHING";

有些东西需要是用户链接到的客户编号,这可以在登录阶段返回,但如何存储以用于SQL查询?

您确实可以创建一个表,其中包含通过客户编号链接的客户数据

编辑:并可以选择创建一个权限表,您可以在其中将某些用户分配给某些组

至于登录信息的使用,您可以使用会话

查看以下链接:


希望我能帮助您。

您知道吗?您需要实现一个访问控制列表系统。这就是为什么很多时候,使用一个框架,甚至是一个完整的CMS来实现这些东西会更容易,而且你只需要添加你需要的部分。任何主要的CMSE都会有管理这类事情的扩展。@MichaelLivach是的,正如我在问题中所解释的,我计划创建用户等。但是,当用户登录并且在登录查询中返回了客户编号后,这个问题更针对用户,那么我如何存储这些信息以供将来的SQL查询使用?如果问题不清楚,我已经更新了它。@user2656114。您可以在会话中输入客户id。会话数据存储在服务器端,客户端只接收会话cookie。会话存储可能不同:文件(默认)、数据库等,请参阅“谢谢”。我已经阅读了这些链接并理解了一些,但能否请您解释一下我应该/将如何在这种情况下使用这些链接?好的,当您对用户进行身份验证时,您可以将其存储在会话中。例如:会话_start()//在使用它的每个脚本开始时需要)$\u会话['user']=$userInfoFromDatabase;在其他页面上,您可以检索这些信息,如:session_start()$用户=$\u会话['user'];