WordPress $ wpdb-> insert()无法在Server上运行

时间:2013-02-15 09:50:48

标签: php wordpress wpdb

我有以下代码在localhost中工作但不在真实服务器上工作。

include_once('/home/engforum/public_html/wp-load.php');
global $wpdb, $table_prefix;

$table = $table_prefix . 'users';
$wpdb->insert($table, array(
    'user_login'=>$Fields['Name'], 
    'user_email'=>$Fields['Email'], 
    'user_pass'=>  md5($Fields['Password']), 
    'user_nicename'=>$Fields['Name'], 
    'user_registered'=>$Fields['DateInserted'], 
    'display_name'=>$Fields['Name']
));

$getRegisterID = $wpdb->insert_id;
$my_user = new WP_User($getRegisterID);
$my_user->set_role("subscriber");

// Update User Meta
update_user_meta($getRegisterID, 'rich_editing', 'true');
update_user_meta($getRegisterID, 'show_admin_bar_front', 'true');
update_user_meta($getRegisterID, 'admin_color', 'fresh');
update_user_meta($getRegisterID, 'nickname', $Fields['Name']);
update_user_meta($getRegisterID, 'first_name', $Fields['Name']);

我还尝试使用exit( var_dump( $wpdb->last_query ) );检查错误,但没有帮助。任何人都可以帮我解决。

更新:我尝试使用

进行调试
// display fileds value
 echo "<pre>";
 print_r($Fields);
 echo "</pre>";
 exit();
require_once('/home/engforum/public_html/wp-load.php');
global $wpdb, $table_prefix;

// Not display fileds value
require_once('/home/engforum/public_html/wp-load.php');
global $wpdb, $table_prefix;

echo "<pre>";
print_r($Fields);
echo "</pre>";
exit();
    ......

1 个答案:

答案 0 :(得分:0)

问题可能是全局$ wpdb,$ table_prefix;正在重置$ fields尝试更改$ fields变量。