douboshan1466 2016-04-15 09:48
浏览 33
已采纳

如何检查mysql查询中的字段条件

I have a code of MySQL:

$sqlstd = mysql_query(
   "SELECT   cd.cf_did AS id,
             cd.cf_companyname AS name,
             cd.cf_description AS descp,
             cd.cf_payment AS pay,
             cd.cf_status AS status,
             GROUP_CONCAT(ct.cf_ctname SEPARATOR ', ') AS cranetype
    FROM     cf_directory cd,
             cf_cranetype ct
    WHERE    FIND_IN_SET(ct.cf_ctid, cd.cf_cranetype)
    GROUP BY cd.cf_did,
             cd.cf_companyname,
             cd.cf_description,
             cd.cf_payment,
             cd.cf_status
    ORDER BY cd.cf_did DESC LIMIT 4",
    $con);

I want to check 2 WHERE conditions in this query: cd.cf_payment='top' AND cd.cf_status='1'.

I am using this code:

$sqlstd = mysql_query(
   "SELECT   cd.cf_did AS id,
             cd.cf_companyname AS name,
             cd.cf_description AS descp,
             cd.cf_payment AS pay,
             cd.cf_status AS status,
             GROUP_CONCAT(ct.cf_ctname SEPARATOR ', ') AS cranetype
    FROM     cf_directory cd,
             cf_cranetype ct
    WHERE    cd.cf_payment='top',
             cd.cf_status='1'
         AND FIND_IN_SET(ct.cf_ctid, cd.cf_cranetype)
    GROUP By cd.cf_did,
             cd.cf_companyname,
             cd.cf_description,
             cd.cf_payment,
             cd.cf_status
    ORDER BY cd.cf_did DESC
    LIMIT 4",
    $con);

but it's not working.

How can I add 2 field (cf_payment, cf_status) checks in WHERE condition?

  • 写回答

1条回答 默认 最新

  • dsbifvcxr458755493 2016-04-15 09:59
    关注

    WHERE conditions are concatenated with AND/ OR not with comma.

    Update

    WHERE cd.cf_payment='top',cd.cf_status='1'
    

    To:

    WHERE cd.cf_payment='top' AND cd.cf_status='1'
    

    Note: Please avoid using mysql_* functions as they are deprecated. Use PDO_* or mysqli_*.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?