$wpdb 是 wordpress 中的一个全局变量,在wordpress可以随时使用。下面就总结一下 $wpdb 的使用方法。
$wpdb 是 wordpress 中的一个全局变量,在wordpress可以随时使用。下面就总结一下 $wpdb 的使用方法。
1. prepare 防止sql注入
$metakey   = 'Funny Phrases';
$metavalue = "WordPress' database interface is like Sunday Morning: Easy.";
$wpdb->query(
   $wpdb->prepare(
      "
      INSERT INTO $wpdb->postmeta
      ( post_id, meta_key, meta_value )
      VALUES ( %d, %s, %s )
      ",
      10,
      $metakey,
      $metavalue
   )
) 
2 .获取一个变量的结果
// $wpdb->get_var( 'query', column_offset, row_offset );
$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
echo "<p>User count is {$user_count}</p>";
3. 获得一行的结果
//  $wpdb->get_row('query', output_type, row_offset); 
	
$mylink = $wpdb->get_row( "SELECT * FROM $wpdb->links WHERE link_id = 10" )
4. 获取一列的结果
// get_col( 'query', column_offset );
5. 获取正常的结果,可循环输出多个结果
// get_results( 'query', output_type );
6. 插入数据
// insert( $table, $data, $format );
$wpdb->insert( 
    'table', 
    array( 
        'column1' => 'value1', 
        'column2' => 123, 
    ), 
    array( 
        '%s', 
        '%d', 
    ) 
);
7. 替换数据, $data 中第一个是 row id
// replace( $table, $data, $format );
$wpdb->replace( 
    'table', 
    array( 
        'indexed_id' => 1,
        'column1' => 'value1', 
        'column2' => 123, 
    ), 
    array( 
                '%d',
        '%s', 
        '%d', 
    ) 
);
8. 更新数据
// update( $table, $data, $where, $format = null, $where_format = null );
$wpdb->update( 
    'table', 
    array( 
        'column1' => 'value1',   // string
        'column2' => 'value2'    // integer (number) 
    ), 
    array( 'ID' => 1 ), 
    array( 
        '%s',   // value1
        '%d'    // value2
    ), 
    array( '%d' ) 
);
9. 删除数据
// delete( $table, $where, $where_format = null );
10 . query 执行原生sql
$wpdb->query( 
    $wpdb->prepare( 
        "   DELETE FROM $wpdb->postmeta
            WHERE post_id = %d
            AND meta_key = %s
        ",
            13, 'gargle'
        )
);
11. 错误的显示、隐藏和打印
// $wpdb->show_errors();
// $wpdb->show_errors();
// $wpdb->print_error();
                
                
        
        
                
暂无数据