$ wpdb-> insert()给出错误未定义函数

时间:2016-08-19 05:11:54

标签: wordpress

我在wp-content / theme / mytheme文件夹中创建了一个新文件。

在文件中我写了简单的查询

global $wpdb;
    $insert= $wpdb->insert('wp_test', array(
    'orderID' =>$_GET['orderID'],'amount'=>$_GET['amount'],'acceptance'=>$_GET['ACCEPTANCE'],'status'=>$_GET['STATUS'],
    ));

我收到错误“调用未定义的函数”。我是否必须在此文件中包含文件?

3 个答案:

答案 0 :(得分:1)

试试这个:在文件开头包含wp-load.php。

文件位于主题文件夹中。

require_once('../../../wp-load.php');    //<-----please include this

global $wpdb;
    $insert= $wpdb->insert('wp_test', array(
    'orderID' =>$_GET['orderID'],'amount'=>$_GET['amount'],'acceptance'=>$_GET['ACCEPTANCE'],'status'=>$_GET['STATUS'],
    ));

答案 1 :(得分:1)

根据这份文件:https://codex.wordpress.org/Class_Reference/wpdb

您必须将代码更改为:

global $wpdb;
$wpdb->insert(
  'wp_test',
  array(
    'orderID' => $_GET['orderID'],
    'amount' => $_GET['amount'],
    'acceptance' => $_GET['ACCEPTANCE'],
    'status' => $_GET['STATUS'],
  ),
  array( '%d', '%d', '%s','%s' )

);

答案 2 :(得分:0)

通过这些方式,您可以轻松完成,

首先将$ wpdb全局定义为WebElement

global $wpdb;

第二种方式是

require_once('../wp-load.php'); // relative path

<?php
$wpdb->insert("wp_submitted_form", array(
   "col_nmae" => $value,
 ));
?>

第三是

$sql = $wpdb->prepare(
    "INSERT INTO `wp_submitted_form`    
       (col_nmae) 
 values ($val)");
$wpdb->query($sql);

如果您是初学者,请在此处阅读更多内容https://codex.wordpress.org/Class_Reference/wpdb