2016-04-19 17 views
0

私は、ユーザが賭けのピックを投稿するページで作業しています。 MySQLではテーブルベット(ID、イベント、ピック、オッズ、ステーク、分析、ステータス、利益)があります。MySQLの列が空であることを確認してください

MySQLで「ステータス」が空白であることを確認したいが、if()ステートメントが機能していないことを確認したい。それが空であれば、ユーザーからのすべてのベットを出力するはずです。投稿されたコードはforループにあります。

if()ステートメントで何が問題になっていますか?これを行うにはより良い方法がありますか?

$result = queryMysql("SELECT * FROM bets WHERE user='$user'"); 
$row = mysqli_fetch_array($result); 

if ('' !== $row['status']) { 
    echo "Status: " . $status . "</div>" . 
    "Published by: " . $user . "<br>" . 
    "PICK: " . $pick . "<br>" . 
    "Odds: " . $odds . "<br>" . 
    "Stake: " . $stake . "<br>" . 
    nl2br($analysis) ; 
} 
+1

使用はmysql_num_rows() – RJParikh

+0

あなたは '(もし!空($行[ 'ステータスを使用することができますを使用することができますチェック'])) 'および/または' if(!null($ row ['status'])) ' – rhavendc

答えて

2

それはなら、それは出力ユーザーからのすべての賭けする必要があります。投稿されたコードはforループにあります。

:あなたが行数を取得 mysqli_num_rows()を使用することができ、また

if ($row['status'] == '') { 

:それは空の場合は、チェックしているので

、あなたのif文は他の方法でラウンドする必要があります

結果セットの行数を返します。

$result = queryMysql("SELECT * FROM bets WHERE user='$user'"); 

if (mysqli_num_rows($result) > 0) { 
$row = mysqli_fetch_array($result); 
    echo "Status: " . $status . "</div>" . 
    "Published by: " . $user . "<br>" . 
    "PICK: " . $pick . "<br>" . 
    "Odds: " . $odds . "<br>" . 
    "Stake: " . $stake . "<br>" . 
    nl2br($analysis) ; 
} 

また、このような機能はqueryMysql()と呼ばれる存在ではありません。

$result = queryMysql("SELECT * FROM bets WHERE user='$user'"); 

それはmysqli_query()する必要があります。 mysqli_query()の場合は、接続パラメータが必要です。

$result = mysqli_query($conn, "SELECT * FROM bets WHERE user='$user'"); 
+1

$行= mysqli_fetch_array($結果); num_rowsの内側に来る。 – RJParikh

+0

@RuchishParikhよろしくお願いします。 – Panda

+1

@davidkこれはあなたの問題を解決しましたか? upvote/downvoteボタンの下のチェックマークをクリックすると、この回答を受け入れることができます。 – Panda

2

あなたはtype & valueの両方をチェックしますidentical比較し、使用しています。 ===または!==です。これには、タイプと値を比較する必要があります。

代わりにしてみてください -

if (!empty($row['status'])) { // assuming status would hold only strings (not false/0 etc) 

それとも

if ($row['status'] != '') { 
3

を使用mysqli_num_rows()。その値が0より大きい場合、結果を含むクエリーを実行してさらに処理を進めることができます。状態については

$result = queryMysql("SELECT * FROM bets WHERE user='$user'"); 
if(mysqli_num_rows($result) > 0) 
{ 
    $row = mysqli_fetch_array($result); 

    if ($row['status'] != "") { 
    echo "Status: " . $status . "</div>" . 
    "Published by: " . $user . "<br>" . 
    "PICK: " . $pick . "<br>" . 
    "Odds: " . $odds . "<br>" . 
    "Stake: " . $stake . "<br>" . 
    nl2br($analysis) ; 
    } 
} 

は、メソッド以下

if ($row['status'] != "") { } 

OR

のいずれかの
if (!empty($row['status'])) { } 
関連する問題