0

好的,我对自己摇头,因为我知道这很明显,但我就是不明白。查询应返回 1 个结果与匹配的用户名和密码,然后 - 我只需要检查行中的列/字段“状态”是否设置为非活动或暂停 - 如果是,则设置 $count 的值并设置味精的 $_SESSION 值。

就目前而言,状态检查不起作用 - 是因为我如何比较 column.field 名称吗?$结果['状态']?

我的查询如下:

$sql="SELECT * FROM $tbl_name WHERE User_Name='$myusername' and Password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// Verified E-Mail address check
if ($result['Status']=="Inactive") {$count=5;$_SESSION['msg']=="Not Verified";};
4

2 回答 2

3

您应该使用mysql_fetch_arrayormysql_fetch_assoc从查询中获取数据数组。

$sql="SELECT * FROM $tbl_name WHERE User_Name='$myusername' and Password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);

// Verified E-Mail address check

$row = mysql_fetch_array($result);

if ($row['Status']=="Inactive") {$count=5;$_SESSION['msg']=="Not Verified";};

另外,我的建议是根本不要使用mysql_函数,因为它们在 5.5 版中已被弃用。查看mysqli甚至更好的pdo

于 2013-06-05T20:22:44.340 回答
3

您需要先从结果中获取数据行,然后才能比较值。

像这样的东西:

$result = mysql_query($sql);
$data = mysql_fetch_array($result);
if ($data['Status'] == 'Inactive') {
    ...
}

话虽如此,使用 mysql_* 函数是有充分理由的。
有关更多详细信息,请参阅此问题: 为什么我不应该在 PHP 中使用 mysql_* 函数?

于 2013-06-05T20:19:42.643 回答