2017-01-28 7 views
0

リクエストと呼ばれるテーブル名が1つあり、カラム名はポイントです。その列に値がない場合は、ゼロを表示する必要があります。これで私を助けてくれますか?phpを使用してデータベースに値がない場合、最初のゼロ値を表示する方法は?

$admin_total="SELECT register_points FROM request where Id=2"; 
$total_result = $conn->query($admin_total); 
if (isset($total_result->num_rows) > 0) { 
    // output data of each row 
    while($row = $total_result->fetch_assoc()) { 
     $total_records=$row['register_points']; 
    } 
} 
echo $total_records; 
+0

私が正しく理解していれば、これを試すことができます:-empty($ row ['register_points'])?0:$ row ['register_points'];または、データベースの列register_pointsのデフォルト値をNULLに設定できません。 – Khem

答えて

2

1つのオプションは、COALESCE()を使用してMySQL側でこれを処理するために、次のようになります。

SELECT COALESCE(register_points, 0) AS register_points 
FROM request 
WHERE Id = 2 

これはregister_points列がNULL可能数値型であることを前提としています。それがテキストの場合は、ある種のキャストを使用することもできますが、上記の方法も有効です。

+0

あなたはまたIFNULLを使用することができます – asissuthar

+0

Mr.Timに返信してくれてありがとう、私は疑いがあります。万一に備えて。私は複数のcoulmnのためにゼロをどのように追加することができるかよりid = 2の要求からselect *のようなクエリを使用しています –

+1

あなたは列を個別にリストアップする必要があります。あなたは 'SELECT *、COALESCE(register_points、0)AS effective_points'を実行し、PHP側で必要な列を釣り上げることができるでしょう。しかしこれはポイント列を2回選択することを意味する。 –

関連する問題