php dba函数实例
时间:2016-07-11
php中有很多操作dba数据库的函数,例如:dba_close关闭dba数据库、dba_delete删除数据库中指定的key、dba_exists检查key是否存在、dba_fetch取得指定key的值、dba_firstkey获取第一个key、dba_handlers列出所有可用的handler、dba_insert插入一条记录
相关的函数
如下:
- dba_close —关闭dba数据库
- dba_delete —删除数据库中指定的key
- dba_exists — 检查key是否存在
- dba_fetch— 取得指定key的值
- dba_firstkey — 获取第一个key
- dba_handlers —列出所有可用的handler
- dba_insert— 插入一条记录
- dba_key_split— Splits a key in string representation into array representation
- dba_list — 列出所有打开的数据库
- dba_nextkey — 获取下一个key
- dba_open —打开数据库
- dba_optimize — 优化数据库
- dba_popen — 使用长链接打开数据库
- dba_replace —替换或者插入一条记录
- dba_sync — 数据库同步
使用实例
1、跟踪用户和密码
<?php
$user = $_SERVER['argv'][1];
$password = $_SERVER['argv'][2];
$data_file = '/tmp/users.db';
$dbh = dba_open($data_file,'c','gdbm') or die("Can't open db $data_file");
if (dba_exists($user,$dbh)) {
print "User $user exists. Changing password.";
} else {
print "Adding user $user.";
}
dba_replace($user,$password,$dbh) or die("Can't write to database $data_file");
dba_close($dbh);
?>
2、对数据排序
<?php
$dbh = dba_open('users.db','c','gdbm') or die($php_errormsg);
if ($exists = dba_exists($_POST['username'], $dbh)) {
$serialized_data = dba_fetch($_POST['username'], $dbh) or die($php_errormsg);
$data = unserialize($serialized_data);
} else {
$data = array();
}
if ($_POST['new_password']) {
$data['password'] = $_POST['new_password'];
}
$data['last_access'] = time();
if ($exists) {
dba_replace($_POST['username'],serialize($data), $dbh);
} else {
dba_insert($_POST['username'],serialize($data), $dbh);
}
dba_close($dbh);
?>
3、计算所有密码的总长度
<?php
$data_file = '/tmp/users.db';
$total_length = 0;
if (! ($dbh = dba_open($data_file,'r','gdbm'))) {
die("Can't open database $data_file");
}
$k = dba_firstkey($dbh);
while ($k) {
$total_length += strlen(dba_fetch($k,$dbh));
$k = dba_nextkey($dbh);
}
print "Total length of all passwords is $total_length characters.";
dba_close($dbh);
?>
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 图片:“给你五十行代码把我变成字符画!” 程序:“太多了,一半都用不完!”
- HTML布局标记和列表标记
- 使用frp搭建内网穿透
- CNS图表复现03—单细胞区分免疫细胞和肿瘤细胞
- C#记事本项目开发,一个可以实现批量操作的记事本!【附源码】
- Python 库引用问题:name 'json' is not defined,原因及解决办法
- Java集合类之Collection接口,集合的“爸爸”接口了解一下?
- Python 微信机器人-下载微信接收到的语音、图片等资源
- Python源文件打包成可执行的exe应用,给你的代码变个身!
- Python 技术篇-ffmpeg.exe的安装及配置
- Python 库配置问题-"Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work",原因及解决办法
- 小白都能看懂的简单爬虫入门案例剖析(爬虫入门看它就够了!)
- Python 技术篇-音频mp3格式转wav格式,高保真
- Python3 模块
- Python 微信机器人-向好友发送名片、转发名片