繁体   English   中英

简单的mysql查询以检查行是否存在

[英]Simple mysql Query to check if row exist

我想向用户展示他是否喜欢图像..因为我正在创建PHP代码

$userid=$_COOKIE['userid'];
$sql = "SELECT * FROM likes WHERE `user_id`='{$userid}'"; 
$query = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($query);
if($row){
echo "unlike";
}
else{
echo "like";
}

我不能为“标签”,“分享”,“评论”,“收藏夹”等所有内容做到这一点......很多没有比这更简单的东西......? 比如说$row_check=mysqli_check_exist($table,$column_name,$userid);

使用mysql fetch row方法

$num_row = mysqli_num_rows($query);

if($num_row>0)
{
//add your code
} 
else
{
//add your code
}

有很多方法可以做到这一点,但如果你不想再使用任何更多信息,那么无论用户是否喜欢它,选择*都是一个坏主意。 原因是您要求数据库返回该表中每列的值。

假设它是一个小型数据库,它可能不是一个问题,但是随着你的数据库越来越大,你会给它带来更多的负担然后你需要你应该尝试只选择你需要和打算使用的列。 好吧,在这种情况下,用户标识可能是索引并且只有一行,但如果你习惯在这里做,你也可以在其他地方做。

试试这个。

$userid=$_COOKIE['userid'];
$sql = "SELECT count(user_id) as total FROM likes WHERE `user_id`='{$userid}'"; 
$query = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($query);

if( $row ['total'] > 0){
    echo "unlike";
}
else{
    echo "like";
}

这样我们就得到了总数。 简单而优雅

如果> 0,则使用mysqli_num_rows($ query)

您只需使用计算可用记录

mysqli_num_rows($query);

这将返回可用记录的数量(计数)

这么简单就像这样检查一下:

$userid=$_COOKIE['userid'];
$sql = "SELECT * FROM likes WHERE `user_id`='{$userid}'"; 
$query = mysqli_query($conn, $sql);
$count = mysqli_num_rows($query); 


if($count>0){
echo "unlike";
}
else{
echo "like";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM