Wpdb函数插入不起作用

时间:2011-11-08 作者:Y2ok

它不会插入任何内容,若我回显它,它会显示所有内容,但不会在数据库中插入任何内容。表名称正确。代码-

global $wpdb;
$meta2 = get_post_meta($post->ID, \'customFields\', true); 
$metas2 = explode(",", $meta2); 
foreach ($meta2 as $meta) 
{ 
$wpdb->query( $wpdb->prepare("INSERT INTO customfields(values) VALUES(\'$meta\')")); 
}
代码位于主题函数内。php文件。

2 个回复
SO网友:Rarst

考虑尝试$wpdb->insert() 方法而不是原始查询。建议使用函数/方法通过原始请求与数据库交互,除非绝对不可能。

SO网友:Chris_O

您甚至不需要使用$wpdb类。update_post_meta() 在这种情况下会非常有效。

我假设您分解一个逗号分隔的数字列表,并希望将它们作为数组插入。

$meta_key = \'customFields\';
$item = $post->ID;

$numbers = get_post_meta( $item, $meta_key, true);
$array = explode(",", $numbers );

for ( $i=0; $i < count( $array ); $i++ ) {

    update_post_meta( $item, $meta_key[$i], $numbers[$i] );

}
这将在自定义字段中插入如下数组:

customFields[0] => first_item,  
customFields[1] => second_item

and so on...

结束