我们正在尝试检索以LONGTEXT形式存储在UTF8 MySQL表中的HTML代码,然后将其作为post meta值存储在WordPress中。
例如,如果HTML包含井号(£),则“ update_post_meta” 函数无法正确存储数据,这种情况仅适用于某些字符,例如可以。
通过 wp_update_post 函数保存这些字符时不存在该问题。
下面的代码是我们用于处理数据的页面,该函数是 updatecdata()
function updatecdata()
{
$SERVER = 'REDACTED';
$USERNAME = 'REDACTED';
$PASSWORD = 'REDACTED';
$DB = 'DATABASE';
$link = mysqli_connect($SERVER,$USERNAME,$PASSWORD,$DB);
mysqli_select_db($link, $DB);
$sql="SELECT * FROM table;";
$result = mysqli_query($link, $sql);
if(! $result ) {
die('Could not get data: ' . mysqli_error($result));
}
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$post_id = $row["post_id"];
$post_title = $row["post_title"];
$post_content = $row["post_content"];
$post_content_reg = row["post_content_reg"];
#####update data####
$post = array(
'ID' => $post_id,
'post_title' => $post_title,
'post_content' => $post_content
);
//UPDATE POST
wp_update_post($post);
//UPDATE POST_META
update_post_meta($post_id, 'contentreg', $content_reg);
}
mysqli_close($link);
}