2017-03-11 4 views
0
SELECT `UM`.`usermaster_id`, `UM`.`height`, `UM`.`income_range`, 
`UM`.`surname`, `UM`.`display_name`, `UM`.`about_me`, `UM`.`profile_id`, 
`UM`.`marital_status`, `UM`.`birth_date`, `UM`.`age`, `UM`.`gender`, 
`UM`.`mother_tongue_id`, `UM`.`religion_id`, `UM`.`cast_id`, 
`UM`.`sub_cast_id`, `UM`.`highest_degree`, `UM`.`occupation`, `UM`.`city_id`, 
TIMESTAMPDIFF(YEAR, `birth_date`, CURDATE()) as newage FROM (`user_master` 
UM) WHERE (UM.height >= 5.7 AND UM.height <= 5.11 AND UM.income_range 
IN(4,7,5,8,9,10) AND UM.cast_id IN(3,15,7) AND UM.marital_status IN('Never 
Married')) AND `UM`.`gender` = 'Male' AND `UM`.`active` = 1 HAVING `newage` 
BETWEEN 31 AND 34 

Höhe Spaltenwert Anzeige Datensatz nicht gefunden.Vergleichen float Wert in Mysql mit PHP

+0

Verwenden Sie stattdessen DECIMAL. Verwenden Sie in diesem Zusammenhang nicht HAVING. Verwenden Sie einfach WHERE und wiederholen Sie die Formel zur Berechnung von newage. – Strawberry

Antwort

0

können Sie nur die UM entfernen, da Sie nur auf nur eine Tabelle verweisen?

+0

Höhe> = 5.7 AND Höhe <= 5.11 - Wie in mysql zu vergleichen Ich verwende Datentyp ist Varchar. um ist Alise Name der Tabelle –

0

Es scheint, Sie eine schließende Klammer verpasst haben:

<?php 
//connect to the database 
$conn = myslqi_connect("localhost", "root", "", "db_test") or trigger_error(mysqli_error($conn)); 
//prepare the statement 
$sql = "SELECT UM.usermaster_id, UM.height, UM.income_range, UM.surname, M.display_name,UM.about_me,UM.profile_id,UM.marital_status,UM.birth_date, UM.age, UM.gender, UM.mother_tongue_id, UM.religion_id, UM.cast_id, UM.sub_cast_id, UM.highest_degree, UM.occupation, UM.city_id, TIMESTAMPDIFF(YEAR, birth_date, CURDATE()) as newage 
    FROM (user_master UM) 
    WHERE (UM.height >= 5.7 AND UM.height <= 5.11) 
    AND UM.income_range IN(4,7,5,8,9,10) 
    AND UM.cast_id IN(3,15,7) 
    AND UM.marital_status ='Never Married' 
    AND UM.gender = 'Male' 
    AND UM.active = 1 
    HAVING newage BETWEEN 31 AND 34"; 
//execute the sql 
$res = mysqli_query($conn, $sql) or or trigger_error(mysqli_error($conn)); 
//declare a blank array 
$data = array(); 
//verify if there are records 
if(mysqli_num_rows($res) > 0){ 
//there are records 
//loop through the records and store it in the array 
while($row = mysqli_fetch_assoc($res)){ 
array_push($data, $row);//push the contents 
}//loop ends 
}//if ends 

//at this point either the array has data or do not have any records 
echo '<pre>'; 
print_r($data); 
echo '</pre>'; 

?> 

Erholung Sie können alles tun, was Sie mit den Aufzeichnungen zu tun. Wie Ihre Frage, Floating-Werte vergleichen jetzt brauchen Sie diese Datensätze auf der Grundlage der Höhe sortiert werden?

Verwandte Themen