如何MySQL条件和&要么

时间:2015-06-25 22:08:49

标签: php mysql database mysqli

我正在开展一个学校项目,我需要这个工作。我正在检查我的登录用户角色是否高于某个值,如果它们很好的话。 我没有使用高于和低于(< =>)的精确值。 我觉得你不必看到那段代码。

在我的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中指定的条件。

如果其中一个条件为真,它不应该表现得那样,那么使用它并从中获取信息。

帮助表示赞赏,明天可以提出这个问题

1 个答案:

答案 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