2013-06-03 55 views
1

我想在wordpress中开发一个自定义插件。我创建了调用下面的脚本形式:WP自定义插件数据库插入数据

<?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()命令出错了。有什么错误的建议?

回答

0

老实说,我没有看到你的代码有什么问题。在这一天结束的时候,我总是会责怪Wordpress,因为它吸吮屁股。我遇到同样的问题,除非用户登录到索引文件并尝试对数据库进行更改。为什么没有人回答这个问题? Wtf

0

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

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

而另一件事是,当你做的插件,那么你就必须把“upgrade.php”在你的文件的功能... 我希望它会工作。