-3

我正在创建一个教育平台,在其中创建课程(课程代码)。我希望能够防止插入新的课程代码而忽略正在使用的大小写或空格的使用。例如,如果“PHY 101”已经存在并且“phy101”中有一种类型。它应该拒绝新条目。

$new_course = $_POST['new_course'];
$sql = mysqli_query($conn, "SELECT * FROM courses WHERE course = '$new_course'") or die(mysqli_error($conn));
        $num_row=mysqli_num_rows($sql);
        if($num_row === 1){
          echo "<script>
          alert('Course code already exists.');
          window.location = 'create_newcourse.php';
          </script>";                                
        }
4

1 回答 1

0

如果您的courses表上已经有记录,那么您需要预先均衡两个字符串( coursecolumn 和):$_POST['new_course']

$new_course = strtolower(str_replace(' ', '',$_POST['new_course']));
$sql = mysqli_query($conn, "SELECT * FROM courses WHERE LOWER(REPLACE(`cource`, ' ', '')) = '$new_course'") or die(mysqli_error($conn));

如果您不需要$new_course进一步格式化值,则只能在 SQL 级别执行这两种修改,例如:

$sql = mysqli_query($conn, "SELECT * FROM courses WHERE LOWER(REPLACE(`cource`, ' ', '')) = LOWER(REPLACE('$new_course', ' ', ''))") or die(mysqli_error($conn));
于 2020-01-21T14:34:30.373 回答