无法使用wpdb插入自定义表

时间:2013-03-17 08:12:45

标签: wordpress wpdb

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

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

问题是它不起作用。

编辑: 不确定是否重要,但此代码位于php文件中,该文件位于我的主插件文件夹中名为includes的文件夹内。使用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));

非常感谢任何帮助。预先感谢。

1 个答案:

答案 0 :(得分: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
);