伯爵总是返回1 ......但是它存在吗?

时间:2014-04-15 23:42:44

标签: php mysql mysqli

我正在尝试在创建之前检查特定类别中“评论”列中是否已存在文件名。如果它已经存在,我想在名称中添加今天的日期,使其成为唯一的文件名。我似乎无法通过计数找到它是否存在。当我回显$ checkfile时,它总是返回1,无论文件是否存在。

$today = date("Y-m-d");
$list = service_category;
$php_file_name = $last."_".$first.".php";

$check = mysqli_query($sqli, "SELECT count(reviews) FROM table WHERE `category`='$list' AND `reviews`='$php_file_name'");

$checkfile = mysqli_num_rows($check);
    if($checkfile >= 1){
        $php_file_name = $last."_".$first.$today.".php";
        }

1 个答案:

答案 0 :(得分:4)

当您在查询中使用COUNT()时,即使只是为了告诉您计数为零,也总会返回一行。您需要检查COUNT(reviews)的值才能获得该值:

$result = mysqli_query($sqli, "SELECT count(reviews) AS `count` FROM myTable WHERE `category`='$list' AND `reviews`='$php_file_name'");
$check = mysqli_fetch_assoc($result);

if($check['count'] >= 1){

你会注意到我给了count(reviews)一个别名,因为它使得在PHP代码中更容易访问该值。