我想检查列中是否包含表中的任何字段值。
因为我想在列中获取字段值并对它们执行某些操作,但首先我必须检查它们是否存在。
我试过了:
$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";
答案 0 :(得分:3)
mysqli_affected_rows
仅适用于更改INSERT
,UPDATE
,REPLACE
或DELETE
等数据的查询。 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'];