如何在 Wordpress 中插入数据?

Posted

技术标签:

【中文标题】如何在 Wordpress 中插入数据?【英文标题】:How do you insert data in Wordpress? 【发布时间】:2013-10-25 22:45:03 【问题描述】:

我尝试将数据插入到名为 Ships 的表中,但遗憾的是它不起作用。我粘贴了代码,以便您更好地了解我是如何编写脚本的。非常感谢任何帮助!

<?php
require_once('../../../wp-config.php');
global $wpdb;

?>

<?php

    $json_data = $_POST['info'];

    if( isset($json_data) )

        $eniNumber  = $json_data['EniNumber'];
        $name       = $json_data['Name'];
        $startDate  = $json_data['StartDate'];
        $rows       = $json_data['Rows'];

        $table_name = $wpdb->prefix . "Ships";
        $result = $wpdb->insert( $table_name, array(
            'eniNumber' => $eniNumber,
            'name' => $name,
            'startDate' => $startDate
        ) );

        if( $result )
            echo json_encode("Entered data successfully");
        else
            echo json_encode("Insertion failed");
        

     else 
        echo json_encode( "What happened?" );
    

?>

【问题讨论】:

是wordpress数据结构吗? 您应该使用自定义帖子类型 (codex.wordpress.org/Post_Types) 而不是创建自己的数据库表。它可以节省您的工作时间,并且不必直接处理数据库。 我必须保存超过 3M 的记录,所以我认为数据库会更好地保存和获取这些数据。我想将数据保存在数据库中,所以请说出与我要求相关的任何内容。 【参考方案1】:

添加数据的实际方法是

<?php $wpdb->insert( $table, $data, $format ); ?>

$wpdb->insert( 
'table', 
array( 
    'column1' => 'value1', 
    'column2' => 123 
), 
array( 
    '%s', 
    '%d' 
) 
);

并使用

$wpdb->insert_id

获取插入ID

【讨论】:

谢谢哥们!还有一个问题。 :( 插入另一个数据后,插入过程失败。还有,第一次插入数据时,我看到名为 Ships 的表中的 id 以 0 而不是 1 开头。我该怎么办?跨度> 您可以设置自动增量从 1 开始而不是 0 ALTER TABLE Ships AUTO_INCREMENT = 1 是的,奇怪的是,自动增量选项没有打开,所以我不得不启用它。谢谢老哥!【参考方案2】:

你也可以参考这种插入方式

<?php
// if using a custom function, you need this
global $wpdb

$lastn = 'Last Name';
$firstn = 'First Name';
$wpdb->insert( 'clients', array( 'last_name' => $lastn, 'first_name' => $firstn ), array( '%s', '%d' ) )

?>

【讨论】:

以上是关于如何在 Wordpress 中插入数据?的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress:Ajax 无法插入、查询和结果数据

在 wordpress 自定义模板中显示插入的数据

如何将 json 结果插入 WordPress 表中?

Wordpress - PHP:如何将表单中的选定数据放入文本区域?

使用 WordPress $wpdb 将数据插入到 WordPress 数据库中的表中

将语句插入自定义 WordPress 数据库