これを行う適切な方法は、A:すべての$_POSTスーパーグローバルをエスケープすることです。
およびB.以下に示すようにクエリを記述します。
wp_postmetaのtabledefは次のとおりです。
meta_idはauto_incrementの主キーであるため、あなた 提供しないでください、MySQLは提供します。
//$meta_id = mysql_real_escape_string($_POST['meta_id']); <<-- not needed.
$post_id = mysql_real_escape_string($_POST['post_id']);
$meta_key = mysql_real_escape_string($_POST['meta_key']);
$meta_value = mysql_real_escape_string($_POST['meta_value']);
$sql=" INSERT INTO wp_postmeta
(post_id, meta_key, meta_value)
VALUES
('$post_id','$meta_key','$meta_value') "; //<<-- don't forget the quotes!
if ($result = mysql_query($sql)) {
//You can get the new meta_id using:
$new_meta_id = mysql_insert_id($result);
} else {
die ("could not insert ".mysql_error());
}