2016-04-15 9 views
0

ich einen Code von MySQL zu überprüfen:Wie Feldbedingungen in mysql Abfrage

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

Ich mag 2 WHERE Bedingungen in dieser Abfrage überprüfen: cd.cf_payment='top' AND cd.cf_status='1'.

Ich verwende diesen 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); 

aber es funktioniert nicht. Wie kann ich 2 Felder hinzufügen (cf_payment, cf_status) checks in WHERE Zustand?

+0

Sie sollten die alten und veralteten mysql_ * -Funktionen nicht verwenden. Bitte gehen Sie zu php.net und suchen Sie nach PDO. –

Antwort

0

WHERE Bedingungen sind mit AND/OR nicht mit Komma verkettet.

aktualisieren

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

An:

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

Hinweis: Bitte vermeiden Sie mysql_* Funktionen, wie sie sind veraltet. Verwenden Sie oder mysqli_*.

+0

danke, mein Herr ... seine Arbeit – IPSCR