PHP开发基础
获取驱动开发包
这里介绍如何使用PHP驱动接口编写使用SequoiaDB数据库的程序。为了简单起见,下面的示例不全部是完整的代码,只起示例性作用。可到安装目录/samples/PHP下获取相应的完整的代码。更多查看PHP API
数据操作
连接数据库
//创建 SequoiaDB 对象
$db = new SequoiaDB();
//连接数据库
$arr = $db -> connect( "localhost:11810" );
//打印连接结果,返回的默认是php数组类型,返回值是array(0){"errno"=>0}
var_dump($arr);
//如果 errno 为0,那么连接成功
if( $arr['errno'] !=0 )
{
exit();
}
选择集合空间
//选择名称为"foo"的集合空间,如果不存在则自动创建
//返回 SequoiaCS 对象
$cs = $db -> selectCS( "foo" );
//检验结果,如果成功返回对象,失败返回NULL
if( empty($cs) )
{
exit();
}
选择集合
//选择名称为"bar"的集合,如果不存在,则自动创建
//返回 SequoiaCollection 对象
$cl = $cs -> selectCollection( "bar" );
//检验结果,如果成功返回对象,失败返回NULL
if( empty($cl) )
{
exit();
}
插入
//json方式插入
$arr = $cl -> insert( "{test:1}" );
//检测结果
if( $arr['errno'] !=0 )
{
exit();
}
//数组方式插入
$rec = array ( 'a' => 1, 'b' => new SequoiaDate('2012-12-21') ) ;
$arr = $cl -> insert( $rec );
//检测结果
if( $arr['errno'] !=0 )
{
exit();
}
查询
//查询集合中的所有记录
//返回 SequoiaCursor 对象
$cursor = $cl -> find();
//遍历所有记录
while( $record = $cursor -> getNext() )
{
var_dump( $record );
}
更新
//修改集合中的多有记录,把字段 test 的值修改为0
$arr = $cl -> update( '{$set:{test:0}}' );
//检测结果
if( $arr['errno'] !=0 )
{
exit();
}
删除
//删除集合中的所有记录
$arr = $cl -> remove();
//检测结果
if( $arr['errno'] !=0 )
{
exit();
}
集群操作
选择组
//选择名称为"group"的组,如果不存在,则自动创建
//返回 SequoiaGroup 对象
$group = $db -> selectGroup("db1");
//检验结果,如果成功返回对象,失败返回NULL
if( empty($group) )
{
exit();
}
启动分区组
//启动分区组,首次会自动激活
//返回操作信息
$arr = $group -> start();
//检查结果
if( $arr['errno'] != 0 )
{
exit();
}
选择节点
//获取名称为"node"的节点
//返回 SequoiaNode 对象
$node = $group -> getNode( 'hostname1:11820' );
//检查对象是否空
if( empty( $node ) )
{
exit();
}