Php 如何在wordpress中使用更新和删除查询

Php 如何在wordpress中使用更新和删除查询,php,mysql,wordpress,Php,Mysql,Wordpress,首先,我使用mysql\u query函数手动编写更新、删除、插入和选择查询并执行数据 像这样: 选择查询 $prefix = $wpdb->prefix; $postSql = "SELECT DISTINCT post_id FROM " . $prefix . "postmeta As meta Inner Join " . $prefix . "posts As post On post.ID = meta.p

首先,我使用
mysql\u query
函数手动编写更新、删除、插入和选择查询并执行数据

像这样:

选择查询

$prefix = $wpdb->prefix;
$postSql = "SELECT DISTINCT post_id
            FROM " . $prefix . "postmeta As meta
            Inner Join " . $prefix . "posts As post
            On post.ID = meta.post_id
            Where post_type = 'product' 
            And post_status = 'publish'
            And meta_key Like '%product_img%'";
$postQry = mysql_query($postSql);
while ($postRow = mysql_fetch_array($postQry)) {
     $post_id = $postRow['post_id'];
}
插入查询

$insert_images = "Insert Into " . $prefix . "postmeta(post_id,meta_key,meta_value) Value('$post_id','$meta_key','$data_serialize')";
        mysql_query($insert_images);
更新查询:

$update_price = "Update " . $prefix . "postmeta
                         Set meta_key = 'wpc_product_price'
                         Where post_id = $supportMetaID
                         And meta_key Like '%product_price%'";
 mysql_query($update_price);
删除查询

mysql_query("Delete From " . $prefix . "postmeta Where meta_key IN ('product_img1','product_img2','product_img3')");
所有查询都工作正常。。。但现在我想将所有查询嵌入wordpress查询中

我也可以使用wordpress查询,比如

$wpdb->get_results( "SELECT id, name FROM mytable" );
$wpdb->insert( 
    'table', 
    array( 
        'column1' => 'value1', 
        'column2' => 123 
    ), 
);
$wpdb->update( 
    'table', 
    array( 
        'column1' => 'value1',  // string
        'column2' => 'value2'   // integer (number) 
    ), 
    array( 'ID' => 1 )
);
$wpdb->delete( 'table', array( 'ID' => 1 ) );

但是您可以看到,我在查询中使用了
和/或
条件。因此,任何人都可以帮助我如何将查询嵌入wordpress中,使用
$wpdb->prepare
处理涉及不同条件的查询

$wpdb->query( 
    $wpdb->prepare( 
        "Update " . $prefix . "postmeta
         Set meta_key = %s
         Where post_id = %d
         And meta_key Like '%product_price%'" ,
         'wpc_product_price',$supportMetaID 
        )
);

此外,如果您正在从Posteta插入/删除,建议您使用WP的内置功能/

您可以通过wordpress的方式来完成,并且wordpress已经解决了所有的安全问题

添加/更新帖子元非常简单

update_post_meta( $post_id , 'key', 'value');
 get_post_meta( $post_id , 'key', TRUE);
delete_post_meta($post_id , 'key'); 
获取post meta非常简单

update_post_meta( $post_id , 'key', 'value');
 get_post_meta( $post_id , 'key', TRUE);
delete_post_meta($post_id , 'key'); 
(此处true将作为单个变量返回,如果您要扩展数组,请使用FALSE。)

删除帖子元很简单

update_post_meta( $post_id , 'key', 'value');
 get_post_meta( $post_id , 'key', TRUE);
delete_post_meta($post_id , 'key'); 

你听说过
$wpdb->prepare
吗。请看一看。嗯,好的,我会试试它。插入和删除查询也用于prepare@deemi是的,使用prepare,但最好使用WP的内置功能我知道我更喜欢使用WP功能。。但现在在这个卡内里奥,我必须使用定制的quries