gpt4 book ai didi

php - 如何追踪重复数据

转载 作者:行者123 更新时间:2023-11-29 13:57:37 25 4
gpt4 key购买 nike

我想在这里请教一下。现在我制作将数据插入表中的表单。这张 table 已经有 kemaskini

+------+----------+----------+
| no | Item | kuantiti |
+------+----------+----------+
| 1 | Speaker | 10 |
+------+----------+----------+
| 2 | Laptop | 10 |
+------+----------+----------+
| 3 | Mouse | 10 |
+------+----------+----------+

当我在表单中输入“Speaker”时,我会提交它。它跟踪并说重试。因为已经有了。我在这里写的代码。它只跟踪表 kemaskini 的第 1 行。当我在表单中输入“笔记本电脑”时,我会提交它。它可以正常插入。

我更喜欢如何追踪“Speaker”和“speaker”是相同的。

        if (isset($_POST['submit']))
{
$result = mysql_query("SELECT Item FROM kemaskini");
$test = mysql_fetch_array($result);
$trace=$test['Item'];


if($_POST['Item']==$trace)
{

echo "Try Again";

}

else
{
$item=$_POST['Item'] ;
$kuantiti= $_POST['kuantiti'] ;

mysql_query("INSERT INTO `kemaskini`(Item,kuantiti)
VALUES ('$item','$kuantiti')");

header("Location: kemaskini.php");

}
}

最佳答案

原因是因为您没有循环 mysql_fetch_array() 的结果,这就是为什么您只检查结果的第一个值。如果不想迭代,可以将查询改为:

$itemToSearch = "Speaker";
$result = mysql_query("SELECT COUNT(*) result
FROM kemaskini
WHERE Item = '$itemToSearch'")

这将为您提供找到的项目总数,

$test = mysql_fetch_array($result);
$trace = $test['result'];

if($trace > 0)
{
echo "Try Again";
}
else
{
// insert value
}
<小时/>

作为旁注,该查询容易受到 SQL Injection 的影响。如果变量的值(s)来自外部。请查看下面的文章,了解如何预防这种情况。通过使用 PreparedStatements,您可以摆脱在值周围使用单引号的情况。

关于php - 如何追踪重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15594955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com