一、使用数据库方法之前应该做的事
1.1.加载类
1.1.1.如果是wordpress内置的模板文件的话,直接申明全局变量$wpdb;然后就可以使用该全局变量上的方法。
1.1.2.如果是自定义的php文件的话,需要先加载类,然后再申明全局变量$wpdb;
//定义当前文件相对于wp-blog-header.php文件的路径。 //如果当前文件在插件目录里的文件夹的话,wp-blog-header.php相对路径如下: define('PATH', dirname(dirname(dirname(dirname(__FILE__))) . '\\')); //加载wp-blog-header.php文件,也就加载了wpdb类 require_once(PATH . '\wp-blog-header.php'); //申明全局变量 global $wpdb;
1.2.创建数据库表
1.2.1.下面创建名称为(前缀slider)的数据库表,有id,name,description三个数据。
//申明全局变量$wpdb; global $wpdb; //准备sql语句 $sql = "CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}slider` ( `id` int(11) NOT NULL auto_increment COMMENT '编号', `name` varchar(30) DEFAULT '' COMMENT '名称', `description` varchar(100) DEFAULT '' COMMENT '描述', PRIMARY KEY (`id`) ) DEFAULT CHARSET=utf8 AUTO_INCREMENT=0;"; //用变量$wpdb的方法query执行sql语句 $wpdb->query($sql)
1.2.2.$wpdb->prefix 表示该数据库的表前缀;
1.2.3.$wpdb->query($sql) 表示执行$sql查询语句;
1.2.4.在数据库中查看,wp_slider表已创建成功;
二、给数据库表插入(增)或修改(改)或删除(删)数据
2.1.增加数据:$wpdb->insert()
2.1.1.含义:表示给数据库表末行插入一行数据
2.1.2.语法:$wpdb->insert($table, $data);$table表示数据库表名称,$data表示给表中添加的数据
2.1.3.$wpdb->insert_id 表示上一条添加数据的ID值。
2.1.4.代码如下。
//接着上面的继续写 //给数据库表slider中准备数据$data, $data = array('name' => 'slider1', 'description'=>'首页轮播图'); //给数据库表slider中添加数据$data. $wpdb->insert("{$wpdb->prefix}slider", $data); //查询插入数据库的ID值。 echo $wpdb->insert_id;
2.1.5.在数据库中查看表数据,如下图

2.2.$wpdb->update($table, $data, $where)
2.2.1.含义:表示如果数据库中没有该数据时,添加该数据,如果有,则更改数据库表中的数据
2.2.2.语法:$table表示数据库表名称,$data表示给表中添加的数据,$where表示更新的数据的指定条件
2.2.3.含义:表示给数据库表末行插入一条数据
2.2.4.案例代码
//接着上面的继续写 //给数据库表slider中准备数据$data, $data = array('name' => 'slider2', 'description'=>'分类页轮播图'); //给数据库表slider中添加数据$data. $wpdb->update("{$wpdb->prefix}slider", $data, array('id' => 1));
2.2.5.数据已被更改,查看数据库里的数据变化如下图
更新前
更新后
2.3.删除数据:$wpdb->query($sql)
2.3.1.含义:执行sql删除语句,删除数据库表中的数据。
2.3.2.语法:$wpdb->query($sql);$sql表示数据库sql语句。
2.3.3.删除sql语句:”DELETE FROM" . $wpdb->prefix . "xs
WHERE `xq` = ‘wordpress'”
2.3.4.代码如下。
//接着上面的继续写 //准备sql语句, $sql = "DELETE FROM `" . $wpdb->prefix . "slider` WHERE `id` = 1"; //给数据库表slider中添加数据$data. $wpdb->query($sql); //查询删除的行数。 $row_count = $wpdb->get_var('SELECT ROW_COUNT()'); echo "<br>"; echo $row_count;
2.1.5.在数据库中查看表数据,如下图
删除前
删除后
三、查看数据库内容
3.1.获取单个数据:$wpdb->get_var()
3.1.1.含义:检索数据库表中的某一个值。
3.1.2.语法:$wpdb->get_var($sql, $column_offset, $row_offset);$sql表示sql查询语句,$column_offset表示表中第($column_offset-1)列的值。$row_offset表示表中($row_offset-1)行的值。
3.1.3.$column_offset默认值为0,$row_offset默认值为0。也就是说默认查的值为第一行第一列的值。
3.1.4.代码如下。
// 查找id=2的name值。 $name = $wpdb->get_var('SELECT `name` FROM `' . $wpdb->prefix . 'slider` WHERE `id` = 2'); echo $name; echo "<br>"; // 查找id=2这一行中的第2列的数据 $data = $wpdb->get_var('SELECT * FROM `' . $wpdb->prefix . 'slider` WHERE `id` = 2', 1); echo $data; echo "<br>"; //查找第二列,第二行的数据 $data = $wpdb->get_var('SELECT * FROM `' . $wpdb->prefix . 'slider`', 1, 1); echo $data; echo "<br>"; //查询到的行数(查询行为影响到的行数)。 $row_count = $wpdb->get_var('SELECT ROW_COUNT()'); echo "<br>"; echo $row_count;
3.1.5. $wpdb->get_var(‘SELECT ROW_COUNT()’)表示上一个sql语句影响到的行数。
3.1.6.结果如下。
数据库表
代码显示结果
3.2.获取单行数据:$wpdb->get_row()
3.2.1.含义:检索据库表中某一行数据
3.2.2.语法:$wpdb->insert($sql, $output, $row_offset);$sql表示sql查询语句,$output表示返回值的类型,$row_offset表示表中第($row_offset-1)行的数据。
3.2.3.$output值可以是数组类型ARRAY_A, or ARRAY_N,也可以是对象类型OBJECT。默认值为对象。$row_offset默认值为0,是第一行的意思
3.2.4.代码如下。
/* 查找单行数据值 */ // 获取第一行的数据 $row = $wpdb->get_row("SELECT * FROM `" . $wpdb->prefix ."slider`", ARRAY_A); echo "<pre>"; print_r($rows); echo "</pre>"; // 获取第二行的数据,参数1表示第2行 $row = $wpdb->get_row("SELECT * FROM `" . $wpdb->prefix ."slider`", ARRAY_A, 1); echo "<pre>"; print_r($rows); echo "</pre>";
3.2.5.代码查询结果
数据库表数据
代码查询结果
3.3.获取多行数据:$wpdb->get_results()
3.3.1.含义:检索数据库表多行数据。
3.3.2.语法:$wpdb->insert($sql, $output);$sql表示sql查询语句,$output表示返回值的类型。
3.3.3.$output值可以是数组类型ARRAY_A, or ARRAY_N,也可以是对象类型OBJECT。
3.3.4.代码如下
/* 查找多行数据值 */ $rows = $wpdb->get_results("SELECT * FROM `" . $wpdb->prefix ."slider`", ARRAY_A); echo "<pre>"; print_r($rows); echo "</pre>";
3.3.5.结果如下图
数据库表数据
查寻打印结果
博主联系方式:
- 微信:34419369
- QQ: 34419369
- 公众号:前方录
- 有什么不懂的地方欢迎联系我,帮到你是我会很开心