检查数据库中的值

时间:2016-06-01 05:10:49

标签: php sql

我正在尝试从数据库中获取值。如果此值等于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);
}
?>

2 个答案:

答案 0 :(得分: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'; 
}

答案 1 :(得分: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);
    ?>