我试图在我的数据库中检查用户名=$username和名称字段不为空的地方。我不确定如何做到这一点,所以我对这方面的一些输入持开放态度。:)
PHP代码:
$isinuse_sql = mysql_query("SELECT * FROM users WHERE username='$username' AND (name IS NOT NULL OR name<>''");
if(mysql_num_rows($isinuse_sql) != 0) {
$isinuse_row = mysql_fetch_assoc($isinuse_sql);
$isinuse = $isinuse_row['name'];
echo "1";
} else {
echo "0";
}
试试这个:
"SELECT * FROM users WHERE username='$username' AND (name IS NOT NULL AND name!='')"
作为NULL
值被解释为假,您可以检查名称的值,如
SELECT * FROM users WHERE username='$username' AND users.name<>''
使用mysqli代替sql查询,因为它是不赞成的,就像David Soussan说的
$con=mysqli_connect("localhost","root","","test");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$username = 'a';
$sql="SELECT * FROM users WHERE username='$username' AND users.name<>''";
$result=mysqli_query($con,$sql);
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);
print_r($row);
mysqli_close($con);
我现在明白了,我真傻。如果它是一个空字符串,那么它不是null,所以当你想要false时,你可以通过OR得到true。
"SELECT * FROM users WHERE username='$username' AND name IS NOT NULL AND name<>''"
试试这个
"SELECT * FROM users WHERE username='$username' AND IFNULL(name, '') != '' "