无法更新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 视图中的数据

无法使用 php 和 Mysql 更新数据库

我无法使用 PHP 和 jQuery 将表单数据更新到 MySQL

无法用php更新mysql数据库吗?

如何更新mysql数据库中的数千行

如何使用不相关表中的列数据更新列 - MySQL