2016-04-15 8 views
0

У меня есть код MySQL:Как проверить полевые условия в MySQL Query

$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); 

Я хочу проверить 2 WHERE условия в этом запросе: cd.cf_payment='top' AND cd.cf_status='1'.

Я использую этот код:

$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); 

, но это не работает.

Как добавить 2 поля (cf_payment, cf_status) проверяет в WHERE состоянии?

+0

Вы не должны использовать старые и устаревшие функции mysql_ *. Перейдите на php.net и найдите PDO. –

ответ

0

WHERE условия объединяются с AND/OR не с запятой.

Update

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

To:

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

Примечание: Пожалуйста, избегайте использования mysql_* функций, поскольку они являются устаревшими. Используйте или mysqli_*.

+0

спасибо, сэр ... его работа – IPSCR

Смежные вопросы