2017-03-11 19 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 

高さカラム値表示レコードが見つかりません。PHPを使ってmysqlのfloat値を比較する方法

+0

代わりにDECIMALを使用してください。この場合、HAVINGは使用しないでください。 WHEREを使用して、newageの計算式を繰り返します。 – Strawberry

答えて

0

ただ1つのテーブルだけを参照しているため、UMを削除できますか?

+0

高さ> = 5.7と高さ<= 5.11 - どのようにmysqlを比較する私は使用しているデータ型はvarcharです。 umはテーブルのalise名です –

0

あなたが閉じ括弧を見逃している、らしい:

<?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>'; 

?> 

残りはあなたがレコードを行うには好きなものを何もすることができます。あなたの質問によれば、浮動値を比較する今これらのレコードを高さに基づいてソートする必要がありますか?

関連する問題