无法更新mysql数据库中的数据(wordpress)
Posted
技术标签:
【中文标题】无法更新mysql数据库中的数据(wordpress)【英文标题】:Can't update data in mysql database (wordpress) 【发布时间】:2019-04-27 04:37:25 【问题描述】:我正在尝试使用“选择”值从 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”时出现错误。
【问题讨论】:
***.com/questions/38786757/… 喜欢 【参考方案1】:可能你没有 $wpdb 对象。
这是您的完整文件 getVal.php 吗?你在document_root中有它吗? 不要使用这种方法。这是错误的。
使用 Wordpress AJAX 方法 - 在此处获取更多信息:https://codex.wordpress.org/AJAX_in_Plugins
【讨论】:
不确定 $wpdb 对象,因为它在不同的 php 文件中工作。是的,这是我完整的 getVal.php。它不在 document_root 上,我只是没有在此处发布类似的内容,但例如,如果我在此文件中使用“echo”,它就可以正常工作。我会尽量使用你的建议。 虽然链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。【参考方案2】:我通过使用不同的方式连接到数据库来修复它。 是否使用此代码:
require_once("wp-load.php");
$link = new wpdb("***", "***", "***", "***");
其他一切都保持不变。
【讨论】:
以上是关于无法更新mysql数据库中的数据(wordpress)的主要内容,如果未能解决你的问题,请参考以下文章
无法通过 Workbench 或 MS Access 更新 MySQL 视图中的数据