将自定义元数据的数据插入数据库

时间:2013-12-19 15:48:27

标签: php mysql wordpress

如何将自定义元变量的数据值插入到表中相应字段的数据库中?

这就是我尝试获取每个表单的值的方法:

$l = $_POST['liens'];
$post_id = $_POST['post_ID'];
$langue = $_POST['lang'];
$qual = $_POST['qual'];
$type = $_POST['type'];
if (isset($l) and !empty($l) )
mysql_query("insert into blog_liens values('','".$post_id."','".$l."','".$langue."','".$qual."','".$type."',now(),'','1') ");

但它不起作用。

2 个答案:

答案 0 :(得分:1)

在WordPress中处理数据库时始终使用$ wpdb,但这无论如何都不适用。

将其添加到与元数据库相同的文件中。

function my_metabox_save_value( $post_id ) {
    if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;

    if ( ! current_user_can( 'edit_post' ) ) return;

    if ( isset( $_POST['lang'] ) )
        update_post_meta( $post_id, 'lang', sanitize_text_field( $_POST['lang'] ) );
}
add_action( 'save_post', 'my_metabox_save_value' );

对要保存的每个值重复update_post_meta,并在需要时添加自己的检查,例如!空()。

理想情况下,您也会使用nonce,但这超出了问题的范围。有关详细信息,请参阅:http://codex.wordpress.org/WordPress_Nonceshttp://codex.wordpress.org/Function_Reference/add_meta_box

答案 1 :(得分:0)

  1. 请使用mysql_real_escape_string
  2. 转义帖子参数
  3. 不要使用mysql_ * functions - >使用mysqli或PDO进行查询
  4. 你试过调试吗? ;)

    $result = mysql_query('SELECT foo FROM bar');
    if(!$result ){
        echo mysql_error();
        exit;
    }