2017-04-04 8 views
0

Ich habe die folgende mySQL-Anweisung, die falsch ist.mySQL mehrere UND-Vergleiche in WHERE-Anweisung

SELECT id, location__, image__, bedrooms, bathrooms, price__ 
FROM myTable 
WHERE LOWER(location__) REGEXP '.london.' 
AND (bedrooms >=2) 
AND (bathrooms == true) 
ORDER BY price__ DESC 
LIMIT 0,20; 

Wie formatiere ich eine SQL-Abfrage, die in PHP funktioniert so, dass ich Schlafzimmer> 2 und Badezimmer> 2 und ensuites vergleichen = 1 (dh wahr) ... etc

+0

warum oder? Logisch möchte ich 2 + Schlafzimmer und 2 + Badezimmer – Kevster

+0

Es gibt keine '==' in MYSQL. Ist nicht 'WHERE Schlafzimmer> = 2 UND Badezimmer> = 2 UND ensuites = 1' arbeiten ..? – Qirel

+0

Wie würde das in PHP aussehen ?? Diese Frage eine andere Frage, die ich kenne – Kevster

Antwort

2

Sie müssen nur erhalten, wie Sie wollen mit und Ihre Anforderung hier zu erfüllen.

SELECT id, location__, image__, bedrooms, bathrooms, price__ 
FROM myTable 
WHERE LOWER(location__) REGEXP '.london.' 
AND bedrooms >=2 
AND bathrooms >=2 and ensuites = 1 
ORDER BY price__ DESC 
LIMIT 0,20; 
+0

Funktioniert das in PHP, ist extra Leerzeichen ein Problem ?? – Kevster

1

Sie können unter Verwendung von ein falscher SQL-Vergleichsoperator mit Badezimmern. In SQL vergleichen Sie mit einem einzigen Gleichheitszeichen:

SELECT id, location__, image__, bedrooms, bathrooms, price__ 
FROM myTable 
WHERE LOWER(location__) REGEXP '.london.' 
AND bedrooms >= 2 
AND bathrooms = 1 
ORDER BY price__ DESC 
LIMIT 0,20; 

https://www.techonthenet.com/sql/comparison_operators.php