我正在尝试使用“选择”值从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”时出现错误。
答案 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("***", "***", "***", "***");
其他所有东西都保持不变。