我目前正在开发一个存在多个访问权限的

PHP项目.逻辑很简单:

– 当您的访问级别为2时,您只能看到自己项目的列表

– 当您的访问级别为3时,您可以看到所有项目

所以在SQL中:

第一:

SELECT project_name FROM projects

第二个:

SELECT project_name FROM projects WHERE user_id = user_id

问题是我正在使用带有预处理语句的PDO,并且这些查询在脚本中执行多次.这是它的样子:

if ($_SESSION['access_level'] == 3) {

$sql = "SELECT project_name FROM projects";

} else {

$sql = "SELECT project_name FROM projects WHERE user_id = ?";

}

$res = $db->prepare($sql);

// Some more PHP

if ($_SESSION['access_level'] == 3)

$res->execute();

else

$res->execute(array($_SESSION['user_id']));

正如我在脚本的多个部分中这样做,它变得一团糟.有一个更好的方法吗?就个人而言,我在想一个WHERE子句,其中每个记录都被选中.这样就可以在脚本开头了:

if ($_SESSION['access_level'] == 3)

$id = *;

else

$id = $_SESSION['user_id'];

现在查询更容易:

$res = $db->prepare("SELECT project_name FROM projects WHERE user_id = ?");

$res->execute(array($id));

(现在,当您的访问级别为3时,它将获取所有记录,但只有当您的级别为2时才会获得自己的记录)

这看起来像一个漂亮的转储解决方案,因为我并没有真正使用WHERE子句如何使用它.此外,使用*是不可能的.

什么是最好的选择?

谢谢!

php where 优先,php – 使用WHERE选择所有内容相关推荐

  1. 抖音短视频实操:抖音热门视频的分类特点,如何选择视频内容并创作(下)

    抖音短视频实操:抖音热门视频的分类特点,如何选择视频内容并创作(下) 前面上篇和中篇给大家聊了聊短视频的种类和怎么选择我们的视频内容,选好内容以后,就涉及到了内容创作,内容创作上我们要如何去分析.找到 ...

  2. 下拉菜单显示 隐藏html,根据在下拉列表中选择的内容隐藏和显示HTML元素

    我的网站是在ASP classic - VBScript中创建的(不是我的选择,也是我之前没有过的语言).我试图在其中创建一个网页:下拉菜单显示了基于第一个选择内容的额外下拉菜单.我正在尝试使用Jav ...

  3. PyQt5 技术篇-设置QComboBox下拉框默认值,获取下拉框当前选择的内容

    setCurrentIndex() 就可以通过索引设置当前内容为items里的某个值,从0开始. 例:"2"就代表"脚本管理" currentText() 就可 ...

  4. Winform中实现List<string>赋值给dataGridView与实现多选、全选和获取选择的内容

    场景 Winform中给DataGridView添加多选框列并获取选中行的内容: Winform中给DataGridView添加多选框列并获取选中行的内容_BADAO_LIUMANG_QIZHI的博客 ...

  5. eoLinker AMS 专业版V3.3发布:分享项目可以测试并选择分享内容等

    eoLinker AMS是集API文档管理.API自动化测试.开发协作三位一体的综合API开发管理平台,是中国最大的在线API管理平台.目前eoLinker AMS已经为来自全球的超过两万家企业托管超 ...

  6. 手动清空Element Select选择框内容 v-model 和 option下拉框选项 导致无法select选中,或者选中视图不渲染问题,

    有时候一些需求,需要上下两个Select 进行联动,比如 名称/id选择框的内容需要根据 科目选中后的内容,来进行搜索,所以当 科目清空后 名称/ID 需要清空 v-model 的值.以及 el-op ...

  7. JQuery筛选选择器之内容筛选

    基本筛选选择器针对的都是元素DOM节点,如果我们想要通过内容来过滤一些东西,该怎么办呢? jQuery是相当强大的,这一点它当然想到了啊,JQuery专门为此提供了一组内容筛选选择器,当然其规则也会体 ...

  8. Excel——快速定位工作表到表格末尾、列尾、选择表格内容区域

    目的: 快速定位到表格末尾.快速定位到表格列尾.获取表格列数.快速选中表格内容区域的快捷键. 方法: 快速定位到表格部分内容的末尾(只能定位到表格当前内容区域的末尾,若表格中有多个内容区域,则使用方法 ...

  9. 解决使用element-ui级联选择框内容空白且下拉框过高

    先看问题: ```bash<el-dialogtitle="添加分类":visible.sync="addCateDialogVisible"width= ...

最新文章

  1. 基于机器学习的入侵检测系统
  2. 【bzoj3309】DZY Loves Math 莫比乌斯反演+线性筛
  3. 服务总线yali测试_满足吉利要求的车载总线测试服务
  4. 【设计模式】迪米特法则和六种原则的总结
  5. iOS 键盘风格详解UIKeyboardType
  6. java中的native关键字有什么作用?(java本地方法)
  7. 一个简单的自定义多附件上传控件
  8. Mysql和mono_c# – 让Linq与Mysql和Mono玩得很好,有可能吗?
  9. md5算出来不一样_西安美发培训学校:为什么我看到的色卡上的颜色和染出来的颜色会不一样呢?...
  10. VMware安装Windows Server 2003提示Operating System not found
  11. 基于物联网平台开发手机混合 App
  12. 构建LALR(1)项目集族
  13. Baxter 机器人仿真软件安装及演示
  14. 计算机应用公式基础教学教案,《终稿[定稿]大学计算机应用基础全册教案版》...
  15. 马云给阿里的礼物:90多项区块链专利,全球最多
  16. GEE-Python遥感大数据分析、管理与可视化实践技术应用
  17. 如何在地图上显示多个红包商店 vue
  18. 锂电池剩余寿命预测(简单介绍)
  19. Android 高级工程师面试(一)
  20. Java压缩、解压zip文件

热门文章

  1. 使用OpenCV自动去除背景色
  2. 深度神经网络是否过拟合?
  3. 触发器实现两表之间的INSERT,DELETE,UPDATE
  4. Symfony 使用 hwi/oauth-bundle 实现第三方登录
  5. mysql case 表达式
  6. Hadoop-调优剖析
  7. VMware Coding Challenge: Possible Scores Summary: static
  8. javascript自定义cookie
  9. xml serialize
  10. python画心形图像