我正在尝试限制用户记录的显示。基本上我正在开发一个 CRM,用户登录并输入(订单、报价...)他的数据并提交到数据库。因此,当用户登录时,我只想显示他输入的那些记录,而不是其他数据。为此,我获取用户的 session
id 并将其存储在他的记录前面,
显示时我正在这样做
"SELECT * FROM orders WHERE user_id='".$_SESIION['userID']."';
但我必须为所有显示功能执行此“WHERE”操作。除此之外,还有其他方法可以做到这一点吗?我的意思是没有重复的 WHERE
语句?
请提出建议
最佳答案
您的问题:有没有其他方法可以做到这一点,我的意思是没有重复的 WHERE 语句? 我的回答是:没有!
帮助准备:https://www.w3schools.com/php/php_mysql_prepared_statements.asp
数据库可能是这样的,例如:
表用户
id_user email password etc.
表格文章
id_article title_article body_article id_user etc
当您查询时
select * from article where id_users = ?
使用prepere
insert into articles (............, id_user, ....) values (?, ?, ? etc)
所有的表,比如这篇文章,都可以有字段 id_user,它进入带有查询输入的表....,通过 session 和 prepere 防止 SQL 注入(inject)。当用户选择任何内容时,他只会拥有他所注入(inject)的内容。
关于php - 只显示登录用户的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44087184/