【问题标题】:How do you insert data in Wordpress?如何在 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 的记录,所以我认为数据库会更好地保存和获取这些数据。我想将数据保存在数据库中,所以请说出与我要求相关的任何内容。

标签: php database wordpress insert


【解决方案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' ) )

?>

【讨论】:

    猜你喜欢
    • 2014-03-24
    • 2016-11-22
    • 2015-10-28
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多