3

我试图做的是检查表中是否存在值。如果它不存在,则应显示一条抱歉消息。即使该值存在,代码也会发布在下面,它总是返回抱歉

if ($mysqli->query("SELECT 1 FROM `users` WHERE `k1`='$string1' AND 'k2'='$string2'"))
    {

    if($mysqli->affected_rows==0)
    {
    printf("Sorry");
    }
    }
4

2 回答 2

5

您需要检查行数而不是受影响的行数:

if ($result->num_rows == 0)
{
    echo 'sorry';
}

受影响的行用于插入、更新和删除语句,您想知道该语句影响了多少行。

num_rows 返回 select 语句返回的行数

于 2012-12-10T14:01:01.533 回答
1

您将需要使用

 $result = $mysqli->query("SELECT 1 FROM `users` WHERE `k1`='$string1' AND 'k2'='$$string2'");
    if ($result = $mysqli->query("SELECT 1 FROM `users` WHERE `k1`='$string1' AND 'k2'='$$string2'"))
        {

        if($result->num_rows==0)
        {
        printf("Sorry");
        }
        }

当您将查询作为 SELECT 语句进行时。

于 2012-12-10T14:03:47.940 回答