Wpdb->Insert()不会在最后一行之后插入新行

时间:2011-06-26 作者:Ash

在JavaScript中,我使用Ajax调用并发送一组商店
除数组中的最后一个元素外,所有商店都已存在于数据库中<最后一个要素是新店铺insert()插入最后一个店铺,但由于某些原因,它并不总是在表的最后一行之后插入
插入参数包括除索引外的所有字段的值。该字段在DB中标记为auto\\u increment,实际上插入的行获得了预期的索引号
但未按预期插入到最后一行之后<原因是什么?

以下是php代码:

function updateshops($shopsArray){
    global $wpdb;

    $sArray = $_POST["shopsArray"];
    $aSize = sizeof($sArray);

    for ($i=0; $i<$aSize; $i++)
    {
        if ($sArray[$i][\'shopId\']!=-1)  // update existing records
            $wpdb->update( \'wp_shops\', array( \'shopName\'=>$sArray[$i][\'shopName\'], \'shopAddress\'=>$sArray[$i][\'shopAddress\'] ), array(\'shopId\'=>$sArray[$i][\'shopId\']));

        else    // add new records
            $wpdb->insert( \'wp_shops\', array( \'userId\'=>$sArray[0][\'userId\'], \'shopName\'=>$sArray[$i][\'shopName\'], \'shopAddress\'=>$sArray[$i][\'shopAddress\'], \'shopLat\'=>45, \'shopLng\'=>20 ));
    }
}

1 个回复
最合适的回答,由SO网友:anu 整理而成

这几乎与WordPress无关。

您可能还没有为shops表创建主键,它应该是shopid (假设使用常规列命名约定)

结束

相关推荐

WordPress可以向管理员发送有关PHP错误的电子邮件,同时向网站隐藏这些错误吗?

每当显示PHP错误消息时,是否可以让WordPress向站点管理员发送电子邮件?理想情况下,消息也会从HTML输出中过滤出来,以避免信息泄露。我问是因为@ini_set(\'display_errors\', 0); 在我的wp-config.php 而且工作很好,我希望收到关于错误的通知。我很乐意编写一个自定义插件来实现这一点,如果有人知道更多关于WP的知识,可以告诉我在哪里可以完成工作。最后一点:我是不是疯狂地想要一些与众不同的东西?