PDO 两次插入相同的数据

Posted

技术标签:

【中文标题】PDO 两次插入相同的数据【英文标题】:PDO inserting the same data twice 【发布时间】:2017-09-09 17:48:21 【问题描述】:

我有这个 Jquery Ajax 代码

$("body").on('keyup', '.add_thing_t', function(event) 
    if(event.which==13)
        var v=$(this).val();
        $.ajax(
            url: 'ajax.php',
            data: "add_thing="+v,
            success:function(a)
                // alert(a);
            
        )  
    
);

还有这个 PHP

if (isset($_GET['add_thing'])) 
    $Val=$_GET['add_thing'];
    $query=$dbh->query("INSERT INTO Ttd (`Thing`) VALUES('$Val')");
    $query->execute();  

这段代码可以运行,但它总是两次插入相同的数据。

【问题讨论】:

因为你按了两次按钮 不,我点击一次@MasivuyeCokile ->query 执行一次,->execute 执行第二次。我之所以这么说,是因为我看不到您的系统是如何设置的,或者您正在使用什么类进行数据库交互 @JayBlanchard 是的,谢谢,这就是问题 【参考方案1】:

->query 执行一次,->execute 执行第二次。您需要删除execute

【讨论】:

以上是关于PDO 两次插入相同的数据的主要内容,如果未能解决你的问题,请参考以下文章

在 EntityListener 中使用带有 PersistenceContext 的 EJB 时,JPA 尝试在数据库中插入相同的实体两次

检查重复条目与使用 PDO errorInfo 结果

如何使用 PDO 从 php 文件中插入数据?

如何使用准备好的语句将表单数据插入 PDO?

jQuery Virtual Keyboard 插件在 Windows 8 触摸设备上插入相同的字符两次

RestKit / CoreData:两次请求相同的URL时插入重复的对象而不是合并