gpt4 book ai didi

php - 通过 PHP 避免 Mysql 中的重复

转载 作者:行者123 更新时间:2023-11-29 16:02:17 25 4
gpt4 key购买 nike

我的数据库中有下表:

CREATE TABLE subjects (
subject_id int(11) NOT NULL AUTO_INCREMENT,
subject text,
PRIMARY KEY (subject_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1;

我还从这个 PHP 插入表数据,它工作正常:

<?php
include('Conexion.php');
$subject = "";

if (isset($_POST['reg_subject'])) {
$text = $_POST['text'];

$query = "INSERT INTO subjects (subject) VALUES('$text')";
mysqli_query($conn, $query);
header("Location: index.PHP");
}
?>

问题是用户可以输入重复的主题,我想避免这种情况。

如果主题已存在,我尝试显示警报消息,但它继续接受重复的主题。如何避免同名的重复主题?

我就是这样做的:

<?php
include('Conexion.php');

$subject = "";

if (isset($_POST['reg_subject'])) {
$text = $_POST['text'];

$subject_check_query = "SELECT * FROM subjects WHERE subject='$subject'";
$result = mysqli_query($conn, $subject_check_query);
$text = mysqli_fetch_assoc($result);
$message = "Already Exists";

if ($text) { // if subject exists
if ($text['text'] === $subject) {
echo "<script type='text/javascript'>alert('$message');</script>";
}
}else{

$query = "INSERT INTO subjects (subject) VALUES('$text')";
mysqli_query($conn, $query);
header("Location: index.php");}
}
?>

最佳答案

如果插入查询从您的选择查询返回结果,则在插入查询周围添加一条 if 语句。另外,使用 xdebug 也是一个好主意,它会告诉您运行代码时代码中会发生什么。

关于php - 通过 PHP 避免 Mysql 中的重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56085930/

25 4 0
文章推荐: android - 无法从网址下载图片
文章推荐: javascript - 当我更改选项时将