The error you are getting is not related to your plugin, it is the PHP Code for Posts plugin that is missing a table - you should disable or delete this plugin. See the code for it with the table name in this file: http://plugins.svn.wordpress.org/php-code-for-posts/tags/1.2.0/PHPPostCode.php
That said, you do have issues with your plugin as well. You should not use the mysql_*
extensions both because they have been deprecated and because they are not the correct way to access the database using WordPress. The proper way to do this would be to use the global variable $wpdb
which abstracts a lot of the database work away from your plugin. A better way to implement your code using the recommended WordPress functions...
global $wpdb;
$sql = <<<SQL
SELECT T1.ID, REBATE_CODE, LONG_DESC, INCENT_TECH_ID, UPGRADE_TECH
FROM T_L_INCENTIVES T1
INNER JOIN T_L_INCENT_TECH T2
ON T1.L_INCENT_TECH = T2.ID
INNER JOIN T_LIGHTING_TYPE T3
ON T2.E_LIGHTING_TYPE_ID = T3.ID
SQL;
$rebates = $wpdb->get_results( $sql );
foreach ( $rebates as $rebate ){
$new_post = array(
'post_title' => $rebate->REBATE_CODE,
'post_content' => $rebate->LONG_DESC,
'post_status' => 'publish',
'post_date' => date('Y-m-d H:i:s'),
'post_author' => $user_ID,
'post_type' => 'post',
'post_category' => array(10)
);
if ( 0 == ( $post_id = wp_insert_post( $new_post ) ) ){
// an error occurred and $post_id == 0
} else {
// the new post_id is $post_id
}
}