0

我为我的 WordPress 插件创建了一个自定义表,并将其命名为“recp_clients”。不确定这是否重要,但我没有使用“wp_”前缀。

在我处理一些表单数据的 php 文件中,而不是使用通过“mysql_connect”等连接的旧样式,我想使用 $wpdb 来插入帖子数据。

问题是它不起作用。

编辑: 不确定是否重要,但此代码位于一个 php 文件中,该文件位于我的主插件文件夹中的一个名为 include 的文件夹中。该文件是使用 ajax 从 .js 文件中调用的。不确定这是否与 $wpdb 不起作用的原因有关,但我想如果它很重要,我会添加此信息。

这是我所拥有的:

$hisname=$_POST['hisname'];
$hername=$_POST['hername'];
$lastname=$_POST['lastname'];

global $wpdb

$wpdb->insert('recp_clients', array('client_hisname' => $hisname, 'client_hername' => $hername, 'client_lastname' => $lastname));

我也试过这个:

$hisname=$_POST['hisname'];
$hername=$_POST['hername'];
$lastname=$_POST['lastname'];

global $wpdb
$recp_clients_table = $wpdb->prefix . ‘recp_clients’;

$wpdb->insert($recp_clients_table, array('client_hisname' => $hisname, 'client_hername' => $hername, 'client_lastname' => $lastname));

很感谢任何形式的帮助。预先感谢。

4

1 回答 1

0

您缺少 WHERE 子句。除非您使用相同的数据更新所有行,否则您需要这个。如果不包括在内,WP 可能不会运行查询。

$wpdb->update(
  'recp_clients', 
  array(
    'client_hisname' => $hisname, 
    'client_hername' => $hername, 
    'client_lastname' => $lastname),
  array('id' => '54') // This is your WHERE clause
);
于 2013-03-17T09:16:03.260 回答