2016-04-19 165 views
0

我正在一個頁面上工作,用戶發佈他們的投注選擇。在MySQL中,我有表賭注(ID,事件,選擇,賠率,賭注,分析,狀態,利潤)。檢查MySQL列是否爲空

我想檢查'status'在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循環中。

既然要檢查,如果它是空的,你if的說法應該是倒過來:

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

或者,你可以使用mysqli_num_rows()得到行數:

返回結果集中的行數。

$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

$ row = mysqli_fetch_array($ result);進入num_rows。 – RJParikh

+0

@RuchishParikh是的,謝謝你指出:) – Panda

+1

@davidk這是否解決了你的問題?也許通過點擊upvote/downvote按鈕下方的勾號來接受這個答案,謝謝:) – Panda

2

您使用identical比較,這將檢查type & value兩者。 ===!==,因爲這涉及比較類型和值。

而是嘗試 -

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'])) { }