1

我正在尝试在 word-press 中开发一个自定义插件。我创建了一个调用以下脚本的表单:

<?php
global $wpdb;
$sql="insert into wp_wbp_unpublished values(null,'".$_POST['bibkey']."',
'".$_POST['author']."','".$_POST['title']."','".$_POST['date']."','".$_POST['note']."',
'".$_POST['keywords']."','nothing');";
echo $sql;
//$wpdb->show_errors();
$wpdb->insert("wp_wbp_unpublished",array('uid'=>null,'pid'=>$_POST['bibkey'],
'author'=>$_POST['author'],'title'=>$_POST['title'],'year'=>$_POST['date'],
'note'=>$_POST['note'],'keyword'=> $_POST['keywords'],'abstract'=>"null"));
$wpdb->query($sql);
//$wpdb->print_error();
?>

如您所见,我尝试了两种不同的方法将数据插入到我的数据库中,但没有任何效果。sql字符串是正确的,我已经检查过了。但是 insert()/query() 命令有问题。有什么问题有什么建议吗?

4

3 回答 3

0

您必须删除分号();在您的自定义或第一个插入查询中

$sql="insert into wp_wbp_unpublished values(null,'".$_POST['bibkey']."',
'".$_POST['author']."','".$_POST['title']."','".$_POST['date']."','".$_POST['note']."',
'".$_POST['keywords']."','nothing');";

另一件事是当你制作插件时,你必须将“upgrade.php”文件放入你的函数中......我希望它会起作用。

于 2014-08-28T11:07:48.873 回答
0

老实说,我看不出你的代码有什么问题。归根结底,我总是责怪 Wordpress,因为它太烂了。我遇到了同样的问题,除了只有在用户登录索引文件并尝试对 db.xml 进行更改之后。为什么没有人回答这个问题?重量级

于 2013-08-09T22:10:15.117 回答
0

我使用了以下解决方案,这似乎是最好的:

$wpdb->insert( $table, $data, $format );

例如:

$wpdb->insert(
        $prefix.'wp_wbp_unpublished',
        array('bibkey'=>$_POST['bibkey'],'author'=>$author),
        array('%s','%s')
        );

更多信息:https ://codex.wordpress.org/Class_Reference/wpdb#INSERT_row

于 2017-12-18T10:51:03.207 回答