我在wordpress网站工作,我开始在本地环境中使用xampp服务器。
我使用wpdb对数据库进行如下操作:
global $wpdb;
$name = $wpdb->get_results("SELECT meta_value FROM wp_usermeta WHERE meta_key = \'first_name\' AND user_id = ".$user." ");
$wpdb->update(
\'wp_usermeta\',
array(
\'meta_value\' => $v1
),
array( \'user_id\' => $user, \'meta_key\' => \'first_name\' ),
array(
\'%s\'
),
array( \'%d\', \'%s\')
);
在本地环境中工作得很好,但当我将项目迁移到amazon实例时,使用nginx的Ubuntu服务器和所有使用$wpdb的操作都不起作用。
我不能更新,我不能插入。
我不知道为什么。
有什么线索吗?
SO网友:Pat J
是否有令人信服的理由使用$wpdb
而不是API函数get_user_meta()
和update_user_meta()
?
这就是说,有件事需要检查:您确定服务器上的数据库前缀是wp_
? 如果没有,那么您的代码将无法按预期工作。
尝试以下操作:
global $wpdb;
$name = $wpdb->get_results("SELECT meta_value FROM {$wpdb->prefix}usermeta WHERE meta_key = \'first_name\' AND user_id = ".$user." ");
$wpdb->update(
$wpdb->prefix . \'usermeta\',
array(
\'meta_value\' => $v1
),
array( \'user_id\' => $user, \'meta_key\' => \'first_name\' ),
array(
\'%s\'
),
array( \'%d\', \'%s\')
);