2016-06-01 54 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); 
    ?>