无法更新mysql数据库(wordpress)中的数据

时间:2018-11-25 08:17:51

标签: php wordpress

我正在尝试使用“选择”值从WP网站页面更新数据库中的数据。

这是我的“选择”的样子:

<select onchange="getState(this.value)" name="state_selector1" id="state_selector1">

这是我的JS脚本:

function getState(ns) {
    jQuery.ajax({
        url: "/getVal.php",
        type: "GET",
        data: "newState=" + ns,
        success: function(output) {
            alert("Статус статьи изменен. " + output);
        }, error: function() {
          alert('Something went wrong.');
        }
    });
};

和getVal.php:

<?php

    global $wpdb;

    $newState = $_GET['newState'];
    $intNewState = (int)$newState;
    var_dump($intNewState);
    $stateUpdate = $wpdb->update( 'application',
        array( 'state' => $intNewState ),
        array( 'id' => 1 )
    );

?>

每次更改“选择”的值时,都会出现500个内部服务器错误。 JS和PHP毫无问题地获得选择值,但是在getVal.php中添加“ $ wpdb-> update”或“ $ wpdb-> query”时出现错误。

2 个答案:

答案 0 :(得分:0)

可能您没有$ wpdb对象。

这是您的完整文件getVal.php吗?你在document_root中有吗? 不要使用此方法。这是不正确的。

使用Wordpress AJAX方法-在此处获取更多信息:https://codex.wordpress.org/AJAX_in_Plugins

答案 1 :(得分:0)

我通过使用另一种方式连接到数据库来解决此问题。 是否使用以下代码:

require_once("wp-load.php");
$link = new wpdb("***", "***", "***", "***");

其他所有东西都保持不变。