[英]MySQL check in PHP where value is equal to x and y is not empty
I'm trying to to a check in my database where username=$username and where the name field isn't empty. 我正在尝试检查我的数据库,其中username = $ username且name字段不为空。 I'm not sure how to do this, so I am open for some input on this.
我不确定如何执行此操作,因此我愿意为此提供一些意见。 :)
:)
PHP CODE: 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!='')"
Oh I see now, silly me. 哦,我明白了,愚蠢的我。 If it is an empty string it is not null so you get true with an OR when you want false.
如果它是一个空字符串,则它不为null,因此当您要为false时可以使用OR来实现。
"SELECT * FROM users WHERE username='$username' AND name IS NOT NULL AND name<>''"
尝试这个
"SELECT * FROM users WHERE username='$username' AND IFNULL(name, '') != '' "
as NULL
value is interpreted as a false you can check value of name like 因为
NULL
值被解释为false,所以您可以检查name的值,例如
SELECT * FROM users WHERE username='$username' AND users.name<>''
use mysqli instead of sql query as it is deprecated like David Soussan said 使用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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.