2013-11-26 27 views
0

我有一个带有自定义表的wordpress数据库wp_new_term_relationships我需要一个函数将该表中的所有记录附加到表wp_term_relationships然后它会删除所有数据在第一个表,是这样的:我需要一个函数将数据从一个表追加到另一个表中

function jr_cron_insert_jobs(){ 
global $wpdb, $jr_log; 

$sql = $wpdb->prepare("INSERT INTO wp_term_relationships select * from wp_new_term_relationships"); 
$wpdb->query($sql); 

// and another sql query to delete all data from the table "wp_new_term_relationships" 
} 

add_action('init', 'jr_cron_insert_jobs'); 

此功能无法正常工作,具有MySQL数据库我有这个警告,我的error_log没有影响

警告:缺少参数2 :: WPDB准备()

,所以我需要有人来修改它,我

+1

那么,你的问题是什么? – eggyal

+0

这个功能不起作用我不知道为什么? – user1921704

+0

我认为你不能在这种情况下使用准备的方法,http://codex.wordpress.org/Class_Reference/wpdb –

回答

0

它如果我删除了准备声明,效果不错

function jr_cron_insert_jobs() { 
global $wpdb, $jr_log; 


$sql = $wpdb->query("INSERT INTO wp_term_relationships select * from wp_new_term_relationships"); 
$sql2 = $wpdb->query("TRUNCATE TABLE wp_new_term_relationships"); 


} 

    add_action('added_term_relationship', 'jr_cron_insert_jobs'); 
0

试试这个:

function jr_cron_insert_jobs(){ 
global $wpdb, $jr_log; 

$sql = $wpdb->prepare("INSERT INTO wp_term_relationships select * from wp_new_term_relationships"); 
$sql->execute(); 

//AND FOR THE DELETE STATEMENT: 

$delete = $wpdb->prepare("DELETE FROM wp_new_term_relationships"); 
$delete->execute();  
} 

add_action('init', 'jr_cron_insert_jobs'); 

PDO :: EXEC() - 执行SQL语句并返回受影响的行

PDO ::数量查询() - 执行SQL语句,返回设置为PDOStatement对象对象

PDOStatement对象::执行()的结果 - 执行一个准备好的声明

相关问题