Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将语句插入自定义WordPress数据库_Javascript_Php_Mysql_Ajax_Wordpress - Fatal编程技术网

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

Javascript 将语句插入自定义WordPress数据库,javascript,php,mysql,ajax,wordpress,Javascript,Php,Mysql,Ajax,Wordpress,我有一个自定义数据库,我想从WordPress前端界面将项目插入其中。当我提交表单时,我可以很好地获得JSON值,但由于某些原因,它似乎没有插入到数据库中。我没有收到任何错误消息 下面是我正在做的(请注意,我正在测试name变量,因此它不是从输入字段中提取的): 我正在使用SHOW TABLE STATUS中的auto\u increment\u id值来创建commmite\u id值,并希望将其作为主键插入 JavaScript $(".addButton").click(function(

我有一个自定义数据库,我想从WordPress前端界面将项目插入其中。当我提交表单时,我可以很好地获得JSON值,但由于某些原因,它似乎没有插入到数据库中。我没有收到任何错误消息

下面是我正在做的(请注意,我正在测试
name
变量,因此它不是从输入字段中提取的):

我正在使用
SHOW TABLE STATUS
中的
auto\u increment\u id
值来创建
commmite\u id
值,并希望将其作为主键插入

JavaScript

$(".addButton").click(function() {
    var commitAddID = $(this).attr('id');
    var name = "1name";
    var date_created = $("#addCommCreated_input_"+commitAddID).val();
    var status = $("#addCommStatus_input_"+commitAddID).val();
    var disbanded = $("#addCommDisbanded_input_"+commitAddID).val();

    var dataString = {
     'action': 'addCommittee',
     'committee_id': commitAddID,
     'old_id': commitAddID,
     'name': name,
     'description': '',
     'date_created': date_created,
     'status': status,
     'disbanded': disbanded
    };

    jQuery.ajax({
      url: addCommittee.ajaxurl,
      type: "POST",
      data: dataString,
      dataType: "json",
      success: function (response) {
        $("#name_"+commitAddID).html(name);
        $("#created_"+commitAddID).html(date_created);
        $("#status_"+commitAddID).html(status);
        $("#disbanded_"+commitAddID).html(disbanded);
      }
    });
functions.php

  // set up AJAX call for addCommittee
add_action('wp_ajax_addCommittee', 'addCommittee');
add_action('wp_ajax_nopriv_addCommittee', 'addCommittee');

function addCommittee() {
  global $wpdb;

  $committee_id = esc_sql($_POST['committee_id']);
  $old_id = esc_sql($_POST['old_id']);
  $name = esc_sql($_POST['name']);
  $created = esc_sql($_POST['date_created']);
  $status = esc_sql($_POST['status']);
  $disbanded = esc_sql($_POST['disbanded']);
  $desc= esc_sql($_POST['description']);


  $wpdb->insert('wp_bubu_committees',
              array(
              'old_id' => '',
              'name' => $name,
              'description' => '',
              'date_created' => $created,
              'status' => $status,
              'disbanded' => $disbanded
              )
            );
            exit();
  }
我还在
functions.php
中本地化了AJAX URL。有什么想法吗


编辑:更新了代码--操作已设置为。我现在可以插入到数据库中,但它只允许我插入一项。尝试插入其他项不会返回任何结果,但数据会发送到JSON。

删除数据类型JSON

    jQuery.ajax({ 
        url: addCommittee.ajaxurl, 
        type: "POST", 
        data: dataString, 
        success: function (response) { 
            $("#name_"+commitAddID).html(name); 
            $("#created_"+commitAddID).html(date_created); 
            $("#status_"+commitAddID).html(status); 
            $("#disbanded_"+commitAddID).html(disbanded); 
            alert(response); 
        } 
    }); 

委员会id是主键吗?委员会id是主键。我从
SHOW TABLE STATUS
中获得的
auto_increment\u id
值,添加这个'committee\u id'=>$id第一个数组,并在inserre中删除第二个和第三个数组删除我在查询中的委员会,然后tryDidn不工作--您介意将此对话移动到聊天室吗?我可以提供更多关于代码无效的信息。
警报(响应)
似乎不打印任何内容或空白,无论我是否在执行
警报()
console.log()有趣的是,当我测试这些插入时,委员会id每次增加2。不知道为什么它会上升2,但在我看来,它正在处理新的自动增量id。只是没有将它发布到数据库。所以我需要做的是确保
'old\u id'=>
被设置为某个值。我将它设置为它的变量$old\u id。之后,在删除
数据类型:json
之后,我能够开始添加多个。谢谢你的帮助,@vel@昏昏欲睡,很高兴帮助你。