如果值存在于数据库中,如何验证它?

zxlwwiss  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(270)

我想首先检查数据是否已经在数据库中。这是我的密码:

<?php

include '../session.php';
require_once 'config.php';

    $tc_course_name2 = strtoupper($_POST['tc_course_name']);
    $tc_course_code2 = strtoupper($_POST['tc_course_code']);

    $query = "SELECT COUNT(tc_course_name) FROM tc_courses WHERE tc_course_name = '{$tc_course_name2}'";
    $stmt = mysqli_query($conn, $query);
    $fetch = mysqli_num_rows($stmt);

    if ($fetch > 0) {

        echo "Course Name Already Exist";
    }

    else {
        $query_update = "INSERT INTO tc_courses (tc_course_code,tc_course_name) VALUES('$tc_course_code2','$tc_course_name2')";  
        if (mysqli_query($conn,$query_update)) {
                header("Location: ../admin/add_new_training_course.php"); 
            }
        else {
            echo 'Something went wrong';
            }
    }

?>

在这段代码中,它总是运行 Course Name Already Exist 即使它不是保存在 database . 有人能帮我吗?先谢谢你

acruukt9

acruukt91#

mysql的 count(...) 函数总是返回一个值,所以当您使用 mysqli_num_rows 永远都是 > 0 (查询返回具有count()值的行-该值可以是 0 或者更多。
你应该检查 count(...) 看看是不是 >0 更改此项:

$fetch = mysqli_num_rows($stmt);
if ($fetch > 0) {
    echo "Course Name Already Exist";
}

$fetch = mysqli_fetch_array($stmt);
if ($fetch[0] > 0) {
    echo "Course Name Already Exist";
}

相关问题