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

时间:2013-12-20 07:30:50

标签: 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";
}

我无法为“标签”,“分享”,“评论”,“收藏”......等所有内容做到这一点 有什么比这更简单......? 比如说$row_check=mysqli_check_exist($table,$column_name,$userid);

4 个答案:

答案 0 :(得分:3)

使用mysql fetch row method

$num_row = mysqli_num_rows($query);

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

答案 1 :(得分:2)

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

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

试试这个。

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

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

答案 2 :(得分:1)

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

答案 3 :(得分:0)

您只需使用

计算可用记录
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";
}