检查是否存在fieldvalues?

时间:2009-12-27 22:34:15

标签: sql mysql

我想检查列中是否包含表中的任何字段值。

因为我想在列中获取字段值并对它们执行某些操作,但首先我必须检查它们是否存在。

我试过了:

$query = "SELECT anonymous_username FROM users";
$result = mysqli_query($conn, $query) or die ("Couldn't execute query: " . mysqli_error($conn));

if(mysqli_num_rows($result) > 0)
{
 while($row = mysqli_fetch_assoc($result))
 {
  echo "exists";
 }
}

但即使该列的所有字段都为空,它也会回显“存在”。那我怎么办呢?

编辑:谷歌是你的朋友:

 $query = "SELECT anonymous_username FROM users WHERE anonymous_username <> '' AND anonymous_username IS NOT NULL";

2 个答案:

答案 0 :(得分:3)

mysqli_affected_rows仅适用于更改INSERTUPDATEREPLACEDELETE等数据的查询。 SELECT使用mysqli_num_rows

答案 1 :(得分:1)

如果您要查看是否有任何行包含非NULL,非空anonymous_username列,您可以:

SELECT count(*) as Num
FROM users
WHERE LENGTH(anonymous_username) > 0

在PHP中,您可以检索如下数字:

$result = mysql_query($sql);
$row = mysql_fetch_assoc( $result );
$rowcount = $row['num'];