我正在开展一个学校项目,我需要这个工作。我正在检查我的登录用户角色是否高于某个值,如果它们很好的话。 我没有使用高于和低于(< =>)的精确值。 我觉得你不必看到那段代码。
在我的MySQL Select Query中,我有以下内容:
PHP代码(在我的$ mysqli->查询()中设置为变量):
SELECT * FROM coachteam, teams, userteam WHERE (fk_coachteam_team_id = team_id AND fk_coachteam_user_id = '".$sessionRow['user_id']."')
OR (fk_userteam_team_id = team_id AND fk_userteam_user_id = '".$sessionRow['user_id']."')
在我的数据库中,我有如上所示的表格: coachteam ,团队, userteam 。 所有字段都有效。我怎么知道?当我尝试获取结果时,我什么都没得到,但是如果我删除其中一个OR条件或者将我的用户添加到我的多对多表中,则会获取结果。但是,如果我的用户位于多对多表之一,那就不行了。
示例: 如果我的用户只有 coachteam 或 userteam ,我的结果就无法获取任何数组,如果我的用户都在这两个数组中,那么它将是能够。 如果我删除其中一个OR条件,并且只将我的用户置于多对多之一中,它将使用MySQL中指定的条件。
如果其中一个条件为真,它不应该表现得那样,那么使用它并从中获取信息。
帮助表示赞赏,明天可以提出这个问题
答案 0 :(得分:0)
当我使用多个OR或AND组合在一起时,最好对它们进行双重分组。
在比较多个表中的数据以包含您从该字段获取字段的表时,它在MySQL中也很好。
Rails.application.routes.draw do
devise_for :users
resources :users, only: [:update, :show] do
resources :wikis, shallow: true
end
resources :wikis, only: [:index]
resources :charges, only: [:new, :create]
delete '/downgrade', to: 'charges#downgrade'
authenticated do
root to: "users#show", as: :authenticated
end
root to: 'welcome#index'
end