gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 00:05:58 25 4
gpt4 key购买 nike

我正在开始插件开发,并遵循了 WordPress Codex 网站上的教程。我现在卡住了 - 我有一个名为“wp_imlisteningto”的数据库,其中 wp_ 是使用以下方式插入的:

$table_name = $wpdb->prefix . "imlisteningto";

当插件被激活时。

数据库本身有三列,在激活插件时设置:

$sql = "CREATE TABLE $table_name (
id mediumint(9) AUTO_INCREMENT,
album VARCHAR(50),
artist VARCHAR(50),
PRIMARY KEY (id)
);";

我正在尝试从一个 php 表单向这个数据库中插入数据(通过创建一个新行)。

在 WordPress 管理员中,我创建了一个具有非常简单形式的新页面:

<form action="/wp-content/plugins/listeningto/formhtml.php" method="post">
Album: <input type="text" name="album" />
Artist: <input type="text" name="artist" />
<input type="submit">
</form>

如您所见调用 formhtml.php,即:

<?php
global $wpdb;

$wpdb->insert( $table_name, array( 'album' => $_POST['album'], 'artist' => $_POST['artist'] ), array( '$s', '$s' ) );
?>

当我提交表单时,在 IIS7.0 上的 Worpdress 中运行插件时出现错误 500.0,以及 “找不到页面” 在另一个运行 apache 的 Web 服务器上运行时。

如果我将 formhtml.php 更改为:

<?php

echo $_POST['album'];
echo $_POST['artist'];

?>

工作正常 - 我得到了我在表格中输入的专辑和艺术家。显然,将数据(在新行中)插入数据库时​​我做错了什么。

有什么想法吗?

更新

好的,如果我用这个更新 formhtml.php:

<?php
require_once('../../../wp-config.php');
$table_name = $wpdb->prefix . "imlisteningto";
$wpdb->insert( $table_name, array( 'album' => $_POST['album'], 'artist' => $_POST['artist'] ), array( '$s', '$s' ) );
?>

我不再收到错误消息,但数据仍未放入数据库。

更新 2

这对我有用:

<?php
require_once('../../../wp-config.php');
global $wpdb;
$table_name = $wpdb->prefix . "imlisteningto";
$wpdb->insert( $table_name, array( 'album' => $_POST['album'], 'artist' => $_POST['artist'] ) );
?>

就像这样:

<?php
require_once('../../../wp-load.php');
global $wpdb;
$table_name = $wpdb->prefix . "imlisteningto";
$wpdb->insert( $table_name, array( 'album' => $_POST['album'], 'artist' => $_POST['artist'] ) );
?>

因此,由于某些原因 $wpdb 无法正常工作,除非我需要 wp-configwp-load.php。如果包含 wp-load.php$wpdb 获取值,一切正常。

最佳答案

包括

require_once('../../../wp-config.php');

对我有用

关于php - 使用 WordPress $wpdb 将数据插入 WordPress 数据库中的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com