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

Php 检查行是否存在的简单mysql查询,php,mysql,sql,Php,Mysql,Sql,我想向用户展示他是否喜欢图片。。 为此,我正在创建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"; } 我不能为“标签”、“共享

我想向用户展示他是否喜欢图片。。 为此,我正在创建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\u check=mysqli\u check\u exist($table,$column\u name,$userid)

您只需使用

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";
}

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

确实有很多方法可以做到这一点,但如果您不打算使用更多信息,那么用户是否喜欢使用select*是个坏主意。原因是您要求数据库返回该表中每一列的值

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

试试这个

$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";
}

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

使用mysql获取行方法

$num_row = mysqli_num_rows($query);

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

你到底想要什么?在我提交之前,我没有看到$present_like=mysqli_num_行(mysqli_query($conn,“SELECT*FROM likes WHERE
user_id
={$userid}”);明白了…谢谢Hanks@Dalm To,这很有帮助。。特别是使用单列而不是单列*