WordPress数据库操作函数详解_
- 格式:docx
- 大小:14.52 KB
- 文档页数:9
2013河北省职称计算机应用能力考试操作题步骤详解
- 1 - 共5页 操作题数据库 1-5
数据库操作练习一
说明:下面所提到的“当前目录”是指答题文件夹中的FOXKT文件夹;而且以下文件名、字段名、字段值中的字母和数字都是英文半角字符。
在FoxPro环境中进行如下操作:
1、追加数据:在当前目录下打开WriteB.DBF,往该数据表中追加如下记录:
产品大类
产品编号 产品名称 零售价
家电类 LQ1600 超薄彩电 3580.50
2、数据复制:在当前目录下打开FoxB.DBF,将所有“女性职工” 大于20的记录复制到当前目录下的CopyB.DBF中。
3、创建索引:在当前目录下打开IndexB.dbf数据库表文件,建立索引:
索引名为“NUMBER”、降序、类型为“唯一索引”、表达式为“男性职工”。
4、关闭所有打开的数据库,退出FoxPro应用程序。
方法与步骤:
打开本题——打开文件夹FOXKT。
1、追加数据:
(1)打开数据表writeb.dbf。
(2)文件(F)——打开——文件类型/选择“表”
——勾选“独占”——文件名/点击“WriteB.dbf”——确定。(略)
(3)显示(V)——浏览。(略)
(4)表(A)——追加新记录——依次在对应单元格输入:产品大类/输入“家电类”-产品编号/输入“LQ1600”-产品名称/输入“超薄彩电”-零售价/(将起始光标定位在千位上)输入“3580.50”。
(5)点击数据表writeb.dbf右上角“×”——关闭数据表writeb.dbf
2、数据复制:
(1)打开数据表FoxB.dbf,依次操作:文件(F)——打开——文件类型/选择“表” ——勾选“独占”——文件名/点击“FoxB.dbf”——确定。
phpcms v9 数据库操作函数
phpcms v9 数据库操作函数 1、查询
$this->select($where = '', $data = '*', $limit = '', $order = '',
$group = '', $key='') 返回结果集数组 条件 ,字段(id,name,email....),范围 排序方式,分组方式,按建名排序 2、查询多条数据并分页 listinfo($where = '', $order
= '', $page = 1, $pagesize = 20, $key='', $setpages = 10,$urlrule
= '',$array = array()) 3、获取单条记录查询
get_one($where = '', $data = '*', $order = '', $group = '') 4、直接执行sql查询 query($sql); 5、获取最后一次添加记录的主键号 insert_id() 6、执行更新记录操作
update($data, $where = '') $data 建议为数组,$where 可为数组可为字符串 7、执行删除记录操作 delete($where)
8、计算记录数 count($where = '') 9、获取最后数据库操作影响到的条数 affected_rows() 10、获取数据表主键 get_primary() 11、获取表字段
get_fields($table_name = '') 12、检查表是否存在
table_exists($table) 13、 检查字段是否存在
field_exists($field)
C语言文件操作详解
在C语言文件操作的过程中,通常有以下几种方式:
1. 单个字符的操作:
fputc 函数原型:int fputc(int c, FILE *fp);
功能:把一字节代码c写入fp指向的文件屮
返回值:正常,返回C;出错,为EOF(-l)
fgetc
函数原型:int fgetc(FILE *fp);
功能:从fp指向的文件中读取一字节代码
返回值:正常,返回读到的代码值;读到文件尾或出错,为EOF(-l) feof
函数原型:int feof(FILE *fp);
功能:判断文件是否到末尾
返回值:文件未结束,返回0;文件结束,返回真(非())
示例:
# include
#include
void main()
{
char ch;
FILE *fpl = fopenC'diWa.daf, HwbM); /* 以写的方式打开二进制文件 */ if(NULL ==fpl)
{
printf("Can not open this file!\nM); exit(0);
1
printf("please input a string:");
ch = getchar();
while(ch匸#) /*输入#号结束*/
{
fputc(ch, fpl); /*依次向文件中写*/
ch = getchar();
}
fflush(stdin); /*清空输入缓冲区*/ fclose(fpl); /* 关闭文件 */
FILE *fp2 二 fopen(”d:\\a.dat”, “rb”);/* 以读的方式打开二进制文件 */ if(NULL = fp2)
printf("Can not open this file!\nM); exit(O);
while(!feof(fp2)) /*判断是否到达文件末尾*/
{
ch = fgetc(fp2); /*从文件中依次读取*/
putchar(ch);
wp_comments评论数据表
wp_comments数据表中存储着WordPress博客系统的评论信息,包括已经通过审核的、等待审核的以及垃圾评论信息。该表的各个字段的具体含义如下图所示:
wp_comments评论数据表—WordPress数据库
从wp_comments评论数据表的设计结构可以看出,该表分别与wp_posts文章信息表、wp_users用户信息表有 关联关系。其中wp_comments数据表通过外键comment_post_ID与wp_posts数据表相关联着,也就是说某条评论信息必然是对某 篇文章信息所做的评论;wp_comments数据表通过外键user_id与wp_users用户数据表相关联,如果user_id为0则为游客评论, 也就是说当wp_comments表中user_id为0,那么就没有必要去查询wp_users用户数据表了。
其实以上这段话说白了就是:评论肯定是对某篇文章的评论。评论人是本站注册用户,也可以是游客、tracback(机器)等(游客当然和系统的用户信息表没有关系了)。
wp_comments评论数据表的索引在WordPress2.6.2版本中有5个,如下(下图来源于WordPress官方数据库介绍):
wp_comments评论数据表的索引
上图列出wp_comments评论数据表的主要目的是希望在您开发评论相关的插件或者函数接口时,能够根据以上索引信息来优化您的SQL语句。
WordPress主题制作教程
小雯子@WordPress啦!写作
作 者: 小雯子@WordPress啦! 制 作 者: 大漠孤狼@站长百科 制作时间: 2009年2月2日 制作网站: 站长百科 版 权: WordPress啦!及作者 WordPress主题制作电子书使用指南 本文档是WordPress主题制作的入门指导,详细分析了WordPress主
题的每个文件,并对常用的函数使用参数做了详细的介绍。只要您具
有基本的html及css知识,通过学习本文档就可以掌握WordPress主
题的制作了
为了方便大家阅读,制作了详细的目录及书签。对于PDF电子书来
说,我认为书签使用起来更方便一些,希望大家能够习惯电子书的阅
读方式。
本电子书由WordPress啦!的小雯子写作,我调整了一下版面并制作
成本电子书,获取WordPress的更多信息请大家访问WordPress啦
( ),上面有WordPress使用手册,评论,主题,
以及关于WordPress的最新新闻。
如果您有资料想制作成电子书请联系我,我们会协助您制作和发布.
有问题或建议请到我的博客留言:
本电子书的版权归WordPress啦及作者所有,可以自由复制,转载,
但请勿将本电子书内容或其中的一部分私自用于出版物。如果需要用
于商业用途请联系我们。如果引用部分内容,请注明作者及来源。
联系方式:webmaster@ 或到网站留言。 小雯子@WordPress啦! ()写作
大漠孤狼@站长百科()制作 访问
获取更多内容 1一.WORDPRESS模板文件 2
二.模板文件详细 3
1、HEADER.PHP 3 2、 INDEX.PHP 4 3、SIDEBAR.PHP 8 4、FOOTER.PHP 14 5、FUNCATIONS.PHP 14 6、ARCHIVES.PHP 15 7、SEARCHFORM.PHP 和COMMENTS.PHP 16 8、STYLE.CSS 16 9、把INDEX.PHP另存为SEARCH.PHP、PAGE.PHP、SINGLE.PHP 17
WordPress目录和文件介绍
WordPress根目录(Root)
index.php: WordPress核心索引文件,即博客输出文件。
license.txt:WordPress GPL许可证文件。
my-hacks.php:定义了博客输出之前处理的追加程序。默认安装中并没有这个文件,但如果存在,它就会被管理页面引用。
readme.html: WordPress安装导言。
wp-atom.php:输出Atom信息聚合内容。
wp-blog-header.php:根据博客参数定义博客页面显示内容。
wp-cron.php
wp-comments-post.php 接收评论,并把其添加到数据库。
wp-commentsrss2.php :用来生成日志评论的RSS2信息聚合内容。
wp-config-sample.php :把WordPress连接到[[MySQL数据库的示例配置文件。
wp-config.php :这是真正把WordPress连接到MySQL]]数据库的配置文件。默认安装中虽不包括它,但由于WordPress运行需要这一文件,因此,用户需要编辑这个文件以更改相关设置。
wp-feed.php :根据请求定义feed类型并其返回feed请求文件。
wp-links-opml.php :生成OPML格式的链接(通过WordPress管理菜单添加)列表。
wp-login.php :定义注册用户的登陆页面。
wp-mail.php :用来获取通过邮件提交的博文。这个文件的URL通常被添加到cron任务中,这样cron就会定期检索文件并接收邮件日志。
wp-pass.php :审核受密码保护文章的密码并显示被保护文章。
wp-rdf.php :生成RDF信息聚合内容。
wp-register.php :允许新用户通过联机表单注册用户名。
教程简介:本教程分为WordPress简介、安装前、安装、安装后三大部分,当然你可以根据你
的需要跳过相应的部分,寻找你需要的部分,虽然从页码上看显得比较多,但里面比较多的
东西都是看一眼就可以的图片,所以真正用起来是十分简洁和方便的。博客本身就是一个体
验的过程,相信你在本教程的指引下,轻松拥有一个真正自己的博客时,一定会感到轻松愉
快!
一、WordPressWordPress简简介
WordPress 是一种使用 PHP 语言和 MySQL 数据库开发的开源、免费的 Blog(博客,网志)
引擎,用户可以在支持 PHP 和 MySQL 数据库的服务器上建立自己的 Blog。它具有非常强大
的功能,有成千上万的插件和模板主题,更可以根据自己的爱好,自己开发自己喜欢的主
题,扩充功能,可以满足你任何个性化的需要,安装和使用都非常方便。目前 WordPress 已
经成为主流的 Blog 搭建平台,在国外,绝大多数人都用这个平台;在国内,因不满于新浪
博客、QQ空间、网易博客、和讯博客等千篇一律的样式和功能,也有众多的博主将自己的博
客用WordPress搭建,并且人数呈直线趋势上升。
由于专门对搜索引擎做过优化,外加众多插件的帮助,搜索引擎对WordPress非常友好,非常
利于搜索引擎收录,当然你也可以设置不让搜索引擎收录。所以现在很多公司连公司网站和
产品销售都采用WordPress搭建。
WordPress 的原版是英文版的,UTF-8 编码,最新版本为 2.6.1,在WordPress翻译团队努力
下,2.6.1的中文版于8月15日正式发布。
WordPress 的在线中文帮助说明文档:/
WordPress 拥有世界上最强大的插件的模板。个人可以根据它的核心程序提供的规则自己开
发模板和插件。他可以在瞬间把你的博客改变成 cms、forums、门户等各种类型的站点,它
导⼊导出数据库数据库表(wordpress做例⼦)
导⼊数据库:
1. 数据库层⾯:
没有wordpress的情况下,建⽴wordpress数据库
create database wordpress;
进⼊wordpress数据库
use wordpress;
设置字符编码
set charset=utf8
导⼊数据库,使⽤source命令导⼊
source /path-to-db/wordpress.sql
2. 系统导⼊
没有wordpress的情况下,建⽴wordpress数据库
create database wordpress;
进⼊wordpress数据库
use wordpress;
设置字符编码
set charset=utf8
退出数据库
导⼊数据库,使⽤mysql命令导⼊
mysql -uroot -p123456 wordpress < /path-to-db/wordpress.sql
导出数据库:
1. mysqldump命令进⾏导出
mysqldump -hlocalhost -uroot -p123456 --databases wordpress > /path-to-db/wordpress.bak
导⼊数据表
1. 数据库层⾯:
没有wordpress的情况下,建⽴wordpress数据库
create database wordpress;
进⼊wordpress数据库
use wordpress;
设置字符编码
set charset=utf8
导⼊数据库,使⽤source命令导⼊
source /path-to-tb/mytb.bak
导出数据表
1. mysqldump命令进⾏导出
mysqldump -hlocalhost -uroot -p123456 wordpress mytb > /path-to-tb/mytb.bak
php 数据库函数
PHP中常用的数据库操作函数主要包括以下几类:
1. 连接数据库:
```php
// 连接MySQL数据库
$conn = mysqli_connect('localhost', 'username', 'password',
'database_name');
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败:" . $conn->connect_error);
}
```
2. 查询数据:
```php
// 执行SQL查询
$sql = "SELECT * FROM table_name"; $result = $conn->query($sql);
// 遍历查询结果并输出
while ($row = $result->fetch_assoc()) {
echo "id: " . $row["id"] . " - Name: " . $row["name"] . "";
}
```
3. 插入数据:
```php
// 准备插入数据的SQL语句
$sql = "INSERT INTO table_name (column1, column2) VALUES ( 'value1',
'value2' )";
// 执行插入操作
if ($conn->query($sql) === TRUE) {
echo "数据插入成功";
} else {
echo "数据插入失败:" . $conn->error;
}
```
4. 更新数据:
```php
// 准备更新数据的SQL语句
$sql = "UPDATE table_name SET column1 = 'new_value1' WHERE
column2 = 'value2'";
// 执行更新操作
if ($conn->query($sql) === TRUE) {
Wordpress数据库结构全解析
WordPress是使用数据库来实现存储、检索和显示数据功能的。数据库是CMS的最关键的部分,有必要相信,WordPress成功的很大一部分原因就是因为它比较合理的、容易管理的数据库结构。
通过了解数据库的结构,你也可以很容易地解决一些问题。比如,你可以直接通过数据库的操作来实现更改密码、禁用插件、选择主题和做其他事情,而无需访问管理面板。
重要:在进行任何更改之前,请备份您的数据库。
建立数据库连接的wp-config.php
当您新安装的一个WordPress程序的时候,将会被要求提供通过手动编辑wp-config.php文件,或在安装过程中提供信息的数据库信息而自动创建该文件。这里是wp-config.php文件中数据库的一部分。
/** The name of the database for WordPress */define(‘DB_NAME’, ‘‘);/** MySQL database
username */define(‘DB_USER’, ‘‘);/** MySQL database password */define(‘DB_PASSWORD’,
‘‘);/** MySQL hostname */define(‘DB_HOST’, ‘localhost’);/** Database Charset to use in
creating database tables. */define(‘DB_CHARSET’, ‘utf8’);/** The Database Collate type. Don’t
change this if in doubt. */define(‘DB_COLLATE’, ‘‘);/*** WordPress Database Table prefix.**
You can have multiple installations in one database if you give each a unique* prefix. Only
WordPress 主题模板制作及修改教程
每一套 WP 主题都由结构层、表现层和数据层构成,可以说是典型的、符合 Web 体系标准的“三层结构”。WP主题的这种模式块化的特点决定了其设计其实是非常简单,但又极其灵活的。可以说,学会了制作 WP 主题,就相当于基本理解了 Web开发的客户端模型,对进一步学习掌握 Web 技术具有重要意义。这也正是 WP 的魅力所在!
在一套 WP 主题中,最基本的两个文件是 index.php 和style.css。其中,前者定义结构和内容,后者定义样式。所谓结构,就是由指由 XHTML 标签构成的网页基本架构。在 WP主题中,结构层主要使用的是添加了适当的 id 或(和)class 属性的 div 和 ul元素,以便更好地通过表现层来控制页面的布局和外观。所谓表现层,其实就是网页的布局和样式--也就是外观。表现层由CSS(级联样式表)规则定义构 成。而数据层,顾名思义,也就是网站中实际显示的内容,是通过调用 WP内置的函数(有时需要传递适当的参数)从数据库中取得的。
说明:为简明起见,本教程不涉及如何定义样式表(CSS)文件的内容。
事实上,当我们打开某个主题的文件夹时,看到的并不止这两个文件,而是更多。但一般来说,在一个完整的 WP 主题文件夹中都应该包含下列文件(也称为模板文件):
模板文件 页面 用途
index.php 索引页模版:首页 显示网站首页,由4个模板文件组成
single.php 文章页面模板:单页 显示博文的页面(相当于细节页)
page.php 文章页面模板:静态页 显示静态页的页面(包含各级静态页面)
archive.php 存档页 显示存档页的页面(相当于按时间归类的栏目页)
search.php 搜索页 显示搜索结果的页面
category.php 分类页 显示分类页的页面(相当于栏目页)
404.php 404错误页 显示 404 错误信息的页面
WordPress模板基本文件
style.css 样式表文件
index.php 主页文件
single.php 日志单页文件
page.php 页面文件
archvie.php 分类和日期存档页文件
searchform.php 搜索表单文件
search.php 搜索页面文件
comments.php 留言区域文件(包括留言列表和留言框)
404.php 404错误页面
header.php 网页头部文件
sidebar.php 网页侧边栏文件
footer.php 网页底部文件
WordPress Header头部 PHP代码
注: 也就是位于和之间的PHP代码
网站标题
日志或页面标题
WordPress主题样式表文件style.css的相对地址
WordPress博客的Pingback地址
WordPress主题文件的相对地址
博客的Wordpress版本
WordPress博客的Atom地址
WordPress博客的RSS2地址
WordPress博客的绝对地址
WordPress博客的名称
网站的HTML版本
网站的字符编码格式
WordPress 主体模板 PHP代码
日志内容
确认是否有日志
如果有,则显示全部日志
结束PHP函数”while”
结束PHP函数”if”
header.php文件的内容
sidebar.php文件的内容
footer.php文件的内容
显示格式为”02-19-08″的日期
显示一篇日志的留言链接
显示一篇日志或页面的标题
显示一篇日志或页面的永久链接/URL地址
显示一篇日志或页面的所属分类
显示一篇日志或页面的作者
显示一篇日志或页面的ID
显示一篇日志或页面的编辑链接
显示Blogroll中的链接
comments.php文件的内容
显示一份博客的页面列表
显示一份博客的分类列表
WordPress批量修改引⽤图⽚地址
2019-10-20
Q:有时候我们WordPress搬家或者碰到图床出问题的情况,这个时候就要修改博客⾥⾯引⽤的图⽚地址,但是⼀个⼀个进⾏修改实在是太⿇烦了。有没有什么办法可以批量进⾏图⽚链接的修改啊?A:批量修改引⽤的图⽚地址需要进⼊数据库才⾏,这⾥使⽤phpMyAdmin等⼯具就可以了。⾸先通过phpMyAdmin选中数据库中的wp_posts表,然后点上⾯的搜索标签选择“Find and replace”。输⼊之前的图⽚地址和之后的图⽚地址,点执⾏会弹出确认的页⾯,确认后执⾏即可批量修改了。
建议不要将图⽚和⽹站存放在⼀个空间,最好还是采⽤第三⽅的图床服务⽐较好。
⼀个⼆维码跳转到不同的下载地址Q:现在的⼿机应⽤都分为Android和iOS的版本,这样不同⼿机的⽤户需要扫描不同的⼆维码,到不同的应⽤商店去下载相关的应⽤。那么能不能在⼀个⼆维码⾥⾯,包括不同的下载链接并根据不同的⼿机进⾏跳转呢?A:⾸先通过浏览器登录到http://.cn/链接,选择点击⽹页⾥⾯的“APP⼆维码”这项。接着在下⾯的“IOS系统”和“安卓系统”的输⼊框⾥⾯,分别设置Android和iOS版本的下载地址。设置完成以后点击“⽣成⼆维码”按钮,这样就可以创建⼀个⼆合⼀的⼆维码图标。
利⽤新浪微博来作为个⼈的图床Q:我想找⼀个免费的图床来进⾏使⽤,可是找来找去发现好的图床都是国外的,⽽国内却没有相关的好的选择。那么傻博⼠有没有什么可以推荐呢?A:如果傻博⼠说利⽤新浪微博来作为图床,你会不会觉得有些莫名其妙呢?其实不⽤感到奇怪,我们只需要在浏览器⾥⾯安装⼀款“围脖是个好图床”的功能扩展就可以了。以后我们只需要将图⽚直接拖拽到这个扩展⾥⾯进⾏释放,稍等⽚刻就可以看到这个图⽚的⽹页链接分享了。
⼀个IP地址能和两个MAC地址绑定吗Q:单位电脑的IP地址和MAC地址绑定了,现在IP地址不够⽤了。能不能将新电脑的MAC地址修改成⼀台能上外⽹的MAC地址,两台电脑共⽤⼀个IP地址,然后都能直接上外⽹呢?A:不能共⽤⼀个IP地址,如果捆绑了⽹络设备没法传数据。建议⽤⼀个普通的有线路由器,WAN⼝⽀持克隆电脑的MAC地址,克隆后供下⾯再接的电脑上⽹。或者直接联系你们的⽹管,划分更多的VLAN后,进⾏精细化的管理操作。
本文有紫癜性肾炎治疗网 整理发布
wordpress是什么?详细介绍wordpress
WordPress 是一种使用 PHP 语言和 MySQL 数据库开发的开源、免费的 Blog(博客,网志)程序,用户可以在支持 PHP 和 MySQL 数据库的服务器上建立自己的 Blog。
WordPress 是一个功能非常强大的博客系统,插件众多,易于扩充功能。安装和使用都非常方便。目前 WordPress 已经成为主流的
Blog 搭建平台。
WordPress 的原版是英文版的,UTF-8 编码,最新版本为 2.9。为满足日益庞大的中文用户需求开辟了中文官方站点且提供中文版程序下载。还有爱好者开发了中文语言包,使其可以支持中文。不过,由于使用的编码原 因,中文字符截断时会出现乱码。不过桑葚网友制作的中文 WordPress 工具箱插件可以解决这个问题。
WordPress 可以说是世界上目前最先进的 weblog 程序。目前开发的程序大多都是根据它仿造的。它更能把握搜索引擎,在你使用
WordPress 并掌握几种插件后,对于优化将不用过多的操心,它会为你想的更多。
WordPress 有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的 模板,则需要你有一定的专业知识。比如你至少要懂的HTML代码、CSS、PHP等相关知识。
WordPress 拥有世界上最强大的插件和模板。个人可以根据它的核心程序提供的规则自己开发模板和插件。他可以在瞬间把你的博客改变成 cms、forums、门户等各种类型的站点。它强大的功能令你刮 本文有紫癜性肾炎治疗网 整理发布
目相看。WordPress Theme 风格模板是世界上的程序里最多的。类型复杂,品质可嘉,样式繁多,你只需要把不同的模板文件放到空间的
PHP数据库操作详解
第一章:介绍
PHP是一种用于开发动态网站的脚本语言,而数据库操作是动态网站开发中非常重要的一部分。数据库操作能够实现数据的存储、检索、修改和删除等功能,为网站提供强大的数据支持。本文将详细介绍PHP数据库操作的相关知识。
第二章:数据库连接
要进行数据库操作,首先需要与数据库建立连接。在PHP中,可以使用MySQLi或PDO扩展来实现数据库连接。MySQLi是MySQL的官方扩展,而PDO是PHP的数据库抽象层,支持多种数据库。
本章将详细介绍如何使用MySQLi或PDO来与数据库建立连接,并介绍连接时可能遇到的问题和处理方法。
第三章:执行SQL语句
建立好数据库连接后,可以使用SQL语句来进行数据库操作。SQL(Structured Query Language)是用于与关系型数据库进行交互的标准语言。
本章将介绍如何使用PHP执行SQL语句,包括SELECT语句用于查询数据,INSERT语句用于插入新数据,UPDATE语句用于修改数据,DELETE语句用于删除数据。同时,还会介绍如何使用预处理语句和绑定参数来防止SQL注入攻击。
第四章:处理查询结果
执行SELECT语句后,会得到一个结果集。PHP提供了许多函数来处理查询结果,方便进行数据的提取和处理。
本章将详细介绍如何使用PHP遍历结果集,获取查询结果的行数和列数,以及如何使用fetch函数获取查询结果的每一行数据和字段值。
第五章:事务处理
事务是一组数据库操作的集合,要么全部成功执行,要么全部回滚。事务处理可以确保数据的完整性和一致性,防止数据错误和数据丢失。
本章将介绍如何使用PHP进行事务处理,包括开启事务、提交事务、回滚事务,以及如何处理事务中出现的异常。
第六章:数据库优化
数据库优化是提高数据库性能的重要手段。通过优化数据库结构、索引、查询语句等,可以减少数据库操作的时间和负担,提高网站的响应速度。 本章将介绍一些常用的数据库优化技巧,包括优化表结构、创建索引、使用适当的数据类型、优化查询语句等。
钩子函数和回调函数
钩子函数和回调函数是两个概念,它们都是程序设计中常用的概念。钩子函数和回调函数都具有一定的设计模式,可以帮助程序员更好地实现软件开发方案。
首先,让我们来看看钩子函数。钩子函数是一种特殊的功能函数,它可以帮助程序在某些情况下实现某些功能。它是一种行为钩子,可以跟踪程序执行流程,在特定情况下执行特定功能,而不会影响程序的正常执行。比如,在WordPress中,钩子函数可以实现博客文章的自动摘要,而不会影响文章的正常显示。
另一方面,回调函数是一种特殊的函数,它可以在程序执行完成后,由程序自身调用。回调函数是一种设计模式,可以使程序结构更加简洁,可以在特定情况下,由程序本身调用,而不用每次都手动调用。比如,在JavaScript中,可以使用回调函数实现Ajax请求,在服务器接收到请求后,程序本身会自动调用回调函数,实现对返回数据的处理。
总之,钩子函数和回调函数都是程序设计中常用的概念,它们都具有一定的设计模式,可以帮助程序员更好地实现软件开发方案。
WordPress数据库操作函数详解_
为了便于访问数据库,WordPress供应了一个友好的数据库操作类:wpdb,该类定义在/wp-includes/wp-db.php文件中。wpdb类封装了全部的数据库操作函数,它是基于开源的数据库操作类ezSQL进行修改的,使其更适合于WordPress,也使其仅适用于mySQL数据库。同时,WordPress还供应了一个全局变量$wpdb,并将其实例化为wpdb类的对象。这样我们就可以挺直用法$wpdb来调用全部的数据库操作函数。
通过这个$wpdb对象,我们可以对WordPress数据库进行任何操作,包括建表、查询、删除、更新等。要留意的是,假如要在自定义函数中用法$wpdb,必需先将其全局化(global $wpdb;)。
下面就具体介绍一下WordPress的数据库操作函数:
1、function query($query)
这个函数是最基本的数据库操作函数,$query为SQL语句,提交给数据库执行,结果分两种状况:
1). 假如是“insert|delete|update|replace”, 返回受影响行数,在“insert|replace”这种状况下,该函数会用$this-insert_id记录下新插入的ID。
2). 假如是“select”,该函数会用$this-last_result记录下查询到结果集,返回查询到的记录行数。 假如出错,则返回FALSE。
实例:
?php
$wpdb-query(
"
UPDATE $wpdb-posts
SET post_parent = 7
WHERE ID = 15 AND post_status = 'static'
"
);
?
2、function escape($data)
用法反斜线引用数据,也就是用法魔术引号。
实例:
?php
$name = $wpdb-escape($name);
$email = $wpdb-escape($email);
$wpdb-query("INSERT INTO myusers (id, name, email)
VALUES (NULL, '$name', '$email')");
?
3、function insert($table, $data, $format = null)
这是插入记录函数,第一个参数是表的字段数组,其次个是数据数组,第三个用于规定$data中每个值的数据类型。插入数据返回1,否则为0。
实例:
?php
$wpdb-insert(
'table',
array(
'column1' = 'value1',
'column2' = 123
),
array(
'%s',
'%d'
)
);
?
4、function update($table, $data, $where, $format =
null, $where_format = null)
这是更新记录函数,第一个参数是表的字段数组,其次个是数据数组,第三个是条件数组,第四个和第五个分别用于规定$data和$where中每个值的数据类型。更新了为1,否则为0。 实例:
?php
$wpdb-update(
'table',
array(
'column1' = 'value1', // string
'column2' = 'value2' // integer (number)
),
array( 'ID' = 1 ),
array(
'%s', // value1
'%d' // value2
),
array( '%d' )
);
?
5、function get_var($query = null, $x = 0, $y = 0)
这个函数只返回一个值,默认是第0行第0列。假如$query不为空,首先执行查询,假如$query为空的话,则表示从cache中选出;然后返回第X列第Y行的值。
实例:
?php $user_count = $wpdb-get_var( $wpdb-prepare( "SELECT
COUNT(*) FROM $wpdb-users;" ) );
echo "pUser count is {$user_count}/p";
?
6、function get_row($query = null, $output = OBJECT,
$y = 0)
返回一行,$output指定返回的类型,可以是ARRAY_A(关联数组)、ARRAY_N(数字数组)或者OBJECT(对象)。$y指定第几行。
实例:
默认状况下,$output的值为OBJECT,那么用法如下:
?php
$mylink = $wpdb-get_row("SELECT * FROM $wpdb-links
WHERE link_id = 10");
echo $mylink-link_id; // prints "10"
?
假如$output的值为ARRAY_A,那么用法如下:
?php
$mylink = $wpdb-get_row("SELECT * FROM $wpdb-links
WHERE link_id = 10",ARRAY_A);
echo $mylink['link_id']; // prints "10"
? 假如$output的值为ARRAY_N,那么用法如下:
?php
$mylink = $wpdb-get_row("SELECT * FROM $wpdb-links
WHERE link_id = 10",ARRAY_N);
echo $mylink[1]; // prints "10"
?
7、function get_col($query = null, $x = 0)
返回一列,$x指定第几列。
实例:
?php
$names = $wpdb-get_col("SELECT name, email FROM
myusers", 0)
foreach ( $names as $name ) {
echo $name;
}
?
8、function get_results($query = null, $output =
OBJECT)
返回查询的结果集,允许以ARRAY_A、ARRAY_N或者OBJECT三种方式返回。
实例:
?php $fivesdrafts = $wpdb-get_results(
"
SELECT ID, post_title
FROM $wpdb-posts
WHERE post_status = 'draft'
AND post_author = 5
"
);
foreach ( $fivesdrafts as $fivesdraft )
{
echo $fivesdraft-post_title;
}
?
9、function get_col_info($info_type = 'name',
$col_offset = -1)
返回字段信息。
实例:
?php
$col_name = $wpdb-get_col_info('name', 0);
echo $col_name;
?
10、function prepare($query = null) 这是一个可变参数函数,即函数的参数个数不确定。$query为SQL语句,其中可以包含像%s和%d这样的占位符,其它全部非占位符里面的%都要用法%%来代替。由于SQL语句中可能含有像单引号、双引号这样的特别字符,假如不进行处理就挺直提交给数据库,可能会导致错误或者消失平安问题。为此,我们可以通过prepare函数来对SQL语句进行预处理。其实该函数的用法特别简洁,就跟C语言中的sprintf()和vsprintf()函数差不多。
用法:
?php $sql = $wpdb-prepare( 'query' [,
value_parameter, value_parameter ...] ); ?
实例:
?php
$metakey = "Harriet's Adages";
$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
) );
?
当然,还有一些不常用法的函数,这里就不具体介绍了。另外还有两个常量:SAVEQUERIES和WP_DEBUG。设置SAVEQUERIES常量为TRUE,可以把在数据库里执行的全部查询及其停止时间保存到$this-queries这个数组中,以后调试的时候可以用法;而设置WP_DEBUG常量为TRUE,则可以输出错误。不过,这两个常量开关默认都没有打开,我们在测试的时候,可以在wp_config.php文件中将其开启。
更多信息请查看IT技术专栏
...