在 wordpress 中使用 $wpdb 运行 SQL 命令

Posted

技术标签:

【中文标题】在 wordpress 中使用 $wpdb 运行 SQL 命令【英文标题】:Using the $wpdb in wordpress to run SQL commands 【发布时间】:2017-07-13 06:23:11 【问题描述】:

我创建了一个简单的更新命令来更新数据库条目。我希望能够运行任何 sql 语句并更新我的 wordpress 数据库:

<?php    
global $wpdb;
$sql = "UPDATE tablename SET column1='testdata' WHERE id=1";
$results = get_results($sql); ?>

$results = query($sql);

无论我做什么,我都会收到错误:

致命错误:在第 4 行 C:\MAMP\htdocs\new\samplesql.php 中的 null 上调用成员函数 get_results()

【问题讨论】:

【参考方案1】:

get_results() 和 query() 函数仅在与 $wpdb 全局函数结合使用时才起作用。

例如:

global $wpdb;
$wpdb->get_results($sql);

【讨论】:

【参考方案2】:

我喜欢创建一个 WordPress 页面模板,然后我就不必加载任何所需的 WordPress 文件。 WordPress 框架已经加载完毕。

在您的主题目录中创建一个新文件,将其命名为“template-phpwork.php”,然后在文件中,内容将是:

<?php /* Template Name: Custom PHP Work */ 

?>

您可以将代码放在该文件中。

创建一个新的 WordPress 页面,然后选择“自定义 PHP 工作”模板。

然后发布并查看您的页面,您可以根据需要重新加载它以满足您的自定义代码需求。

【讨论】:

请分享更多细节。您没有在回答中提到如何执行 SQL 语句【参考方案3】:

试试这个:

<?php    
include_once("wp-config.php");
include_once("wp-includes/wp-db.php");

$sql = "UPDATE tablename SET column1='testdata' WHERE id=1";
$results = $wpdb->get_results($sql);

您需要包含定义数据库对象的文件。

【讨论】:

我明白了,它也适用于我。我很惊讶我没有在函数文档中找到这个。无论如何,非常感谢!

以上是关于在 wordpress 中使用 $wpdb 运行 SQL 命令的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress $wpdb 在外部 sql 数据库上准备

wordpress 常用函数-wpdb类

如何使用 $wpdb 类在 wordpress 中显示特色图像

从 wordpress $wpdb 获取最后插入的 id

Wordpress - $wpdb->插入 - MySQL NOW()

使用 WordPress $wpdb 将数据插入到 WordPress 数据库中的表中