• wordpress CMS主题:ssmay主题wordpress CMS主题:ssmay主题
  • 首页 > wordpress主题常用函数 > wordpress主题开发函数10:通过wpdb类操作数据库

    wordpress主题开发函数10:通过wpdb类操作数据库

    作者: 分类:wordpress主题常用函数 点击: 224 次
    wordpress CMS主题:ssmay主题

      学过PHP的都知道,要想让php操作mysql数据库,可以通过mysql或mysqli类来实现操作数据库。在wordpress主题开发时,虽然也是PHP程序,但是不建议直接使用这样的方式去操作wordpress数据库了。wordpress为我们提供了一个操作数据库的类——wpdb,wpdb类定义了一个全局变量——$wpdb,所以我们可以直接调用该全局变量$wpdb的实例来操作数据库。

      首先我们要引入这个全局变量:

      global $wpdb;

      1、使用insert()方法添加数据

      $wpdb->insert( $wpdb->prefix . 'xs', array( 'xm' => '大江网络', 'xb' => '男', 'xq' => 'wordpress' ) );

      2、更新数据——update()方法

      $wpdb->update( $wpdb->prefix . 'xs', array( 'xb' => '男', 'xq' => 'wordpress' ), array( 'xq' => '打豆豆' ) );

      3、获取数据——get_var()

      get_var()函数返回一个来自数据库的变量。虽然只返回一个变量,但查询结果会被整体缓存,供后期使用。如果没有查询结果,返回NULL。

      $xm = $wpdb->get_var( 'SELECT * FROM `' . $wpdb->prefix . 'xs`' , 3 , 2 );

      参数说明:

      参数1:sql查询语句。

      参数2:(整数)预计的数据库表的列数(0为表中第一列)。默认值为0。

      参数3:(整数)预计的数据库表的行数(0为表中第一行)。默认值为0。

      4、使用query()方法删除数据

      $wpdb->query( "DELETE FROM `" . $wpdb->prefix . "xs` WHERE `xq` = 'wordpress'" );

      $row_count = $wpdb->get_var( 'SELECT ROW_COUNT()' );
      echo $row_count;

      $wpdb->show_errors();

      5、获取数据——get_results()方法:

      get_results()方法可以从数据库中抽取函数生成的多行结果。Wpdb函数以数组形式返回整个查询结果。

      $rows = $wpdb->get_results( "SELECTa * FROM `" . $wpdb->prefix . "xs`" , ARRAY_A );

      第二个参数可选,其值如下:

      OBJECT —— 以对象形式输出返回的结果
      ARRAY_A ——以关联数组形式
      ARRAY_N —— 以数值索引数组形式

      6、get_row()获取数据

      get_row()方法可以用来从数据库中查询出一整行数据。

      $row = $wpdb->get_row( "SELECTa * FROM `" . $wpdb->prefix . "xs`" , ARRAY_A , 1 );

      参数2和参数3为可选。参数2跟get_results()方法一样,参数3是预计数据库要查询的行数(默认为0)。

      7、学会使用show_errors()、print_error()、hide_errors()、last_error调试SQL

      $wpdb->print_error();

       



      QQ二维码

    文章作者:高时银博客
    本文地址:http://wanlimm.com/77201809246994.html
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    上一篇:
    下一篇:
    wordpress CMS主题:ssmay主题

    或许你会感兴趣的文章:

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    This site uses Akismet to reduce spam. Learn how your comment data is processed.