2016-06-01 51 views
0

我想從數據庫中獲取值。如果該值等於1,則需要顯示文本「One」。檢查數據庫中的值

但我的腳本不工作。要檢查SQL語句的結果等於1我現在用的是以下部分:

if ($result==1) 

    { 
     echo 'One'; 
    } 

不過這是結果我得到:

else 
    { 
    echo 'None'; 
    } 

我認爲$result==1是不是代表整數。

有沒有人知道我可以如何讓這個腳本工作?

這裏是我的腳本的另一部分:

<?php 

$user_name = "root"; 
$password = ""; 
$database = "db"; 
$server = "localhost"; 

$db_handle = mysql_connect($server, $user_name, $password); 
$db_found = mysql_select_db($database, $db_handle); 

if ($db_found) { 
$result =mysql_query("SELECT id FROM users WHERE user_id=1"); 
if ($result==1) 

    { 
     echo 'One'; 
    } 

if ($result==2) 

    { 
     echo 'Two'; 
    } 

if ($result==3) 

    { 
     echo 'Three'; 
    } 

else 
    { 
    echo 'None'; 
    } 
} 
else { 
print "Database NOT Found."; 
mysql_close($db_handle); 
} 
?> 
+1

使用'mysql_num_rows'來檢查天氣您的查詢是否返回行 – Saty

回答

1

改成這樣:

$result =mysql_query("SELECT id FROM users WHERE user_id=1"); 
$count = mysql_num_rows($result); 

if ($count == 1) { 
    echo 'One'; 
} 

注: - MySQL擴展已被棄用,將將來刪除:使用mysqli或PDO代替

如果要從sql獲得準確值,請使用以下代碼:

$res = mysql_fetch_row($result); 

if ($res[0] == 1) { 
    echo 'One'; 
} 
+0

現在我得到文本「One」。但是,如果我將'id'的值更改爲'2'。我仍然得到「一」 – John

+0

顯然,計數仍然是1.如果你想要實際的ID,那麼請使用mysql_fetch_row或這樣的函數,它將返回確切的值,並使用它而不是mysql_num_row。我已經相應地更新了我的答案。 –

+0

現在我得到「無」 – John

0

請嘗試此操作。

<?php 

    $user_name = "root"; 
    $password = ""; 
    $database = "db"; 
    $server = "localhost"; 

    $db_handle = mysql_connect($server, $user_name, $password); 
    $db_found = mysql_select_db($database, $db_handle); 

    if ($db_found) { 
    $result =mysql_query("SELECT id FROM user WHERE user_id = 1"); 
    $result = mysql_fetch_array($result);} 
    if($result){ 
     echo $result['id']; 

    } 
    else 
     { 
     echo 'None'; 
     } 

    mysql_close($db_handle); 
    ?>