PHP 从固定行搜索

PHP searching from fixed rows

我有病人 table,有 1000 多条病历。所有记录均由 5 位管理员创建。我使用 admin_id 列将患者 table 中的患者分开。当管理员“A”登录时,他只能看到他创建的那些患者。现在我想从 patient table 中搜索 patient。我的搜索结果将仅来自管理员“A”创建的患者记录;

MySQL查询:

SELECT 
    *
FROM
    patient
WHERE
    admin_id = 36 AND fname LIKE '%test%'
        OR email LIKE '%test%'
        OR mobile LIKE '%test%'
ORDER BY ID DESC 

(这里我从所有记录中获取结果,但我只需要从 admin_id = 36 处获取结果。)

你必须把 OR 放在圆括号 () 两边,这样表达式只有在 admin_id 为 36 时才为真,其余的也为真

SELECT 
    *
FROM
    patient
WHERE
    admin_id = 36 AND (fname LIKE '%test%'
        OR email LIKE '%test%'
        OR mobile LIKE '%test%')
ORDER BY ID DESC 

尝试:-

SELECT 
    *
FROM
    patient
WHERE
    (admin_id = 36 AND fname LIKE '%test%')
        OR (email LIKE '%test%')
        OR (mobile LIKE '%test%')
ORDER BY ID DESC