rawphp/raw-database

RawDatabase是一个MySQLi类周围的包装器,包含有用的实用函数,被RawPHP框架和其他应用程序使用。

dev-master / 0.x-dev 2015-01-04 03:48 UTC

This package is auto-updated.

Last update: 2024-09-20 08:15:43 UTC


README

Build Status Coverage Status Latest Stable Version Total Downloads Latest Unstable Version License

SensioLabsInsight

包特性

  • 使用query( )查询数据库
  • 使用insert( )插入记录
  • 使用execute( )执行命令
  • 使用createTable( )dropTable( )创建和删除表
  • 使用addColumn( )dropColumn( )添加和删除列
  • 使用addIndex( )dropIndex( )添加和删除索引
  • 支持INDEX、PRIMARY KEY、UNIQUE、FULLTEXT和SPATIAL索引
  • 使用addForeignKey( )dropForeignKey( )添加和删除外键
  • 支持事务,使用startTransaction( )commitTransaction( )rollbackTransaction( )
  • 使用lockTables( )unlockTables( )锁定和解锁表

安装

Composer

RawDatabase可通过Composer/Packagist获得。

"rawphp/raw-database": "0.*@dev"添加到您的composer.json中的require块中,然后运行composer install

{
        "require": {
            "rawphp/raw-database": "0.*@dev"
        }
}

您也可以直接在命令行中运行以下命令

composer require rawphp/raw-database "0.*@dev"

压缩包

或者,只需将RawDatabase文件夹的内容复制到PHP的include_path设置中。如果您不熟悉git或者只想获取压缩包,请点击GitHub页面顶部的'zip'按钮。

基本用法

<?php

use RawPHP\RawDatabase\Database;

// configuration
$config = array(
    'db_name'   => 'database_name',
    'db_user'   => 'user',
    'db_pass'   => 'password',
    'db_host'   => 'localhost',
    'handler'   => 'mysql',
);

// create a new instance of database
$db = new Database( $config );

// query the users table - returns an array of key->value pairs
$results = $db->query( "SELECT * FROM users" );

// insert a record

// escape strings before inserting into the database
$username = $db->prepareString( $user->username );

// insert returns the new record ID
$id = $db->insert( "INSERT INTO users ( user_name ) VALUES ( '$username' )" );

// add table
$result = $db->createTable( 'users', array( 
                'user_id'   => 'INTEGER(11) PRIMARY KEY AUTO_INCREMENT NOT NULL',
                'username   => 'VARCHAR(32) NOT NULL,
            )
);

// drop table
$result = $db->dropTable( 'users' );

// add index
$result = $db->addIndex( 'table_name', array( 'column1', 'column2' ), 'index_name', $index_type );

// drop index
$result = $db->dropIndex( 'table_name', 'index_name' );

许可证

本软件包受MIT许可证的约束。请参阅LICENSE以获取有关软件可用性和分发的信息。

贡献

请将错误报告、建议和拉取请求提交到GitHub问题跟踪器

变更日志

02-10-2014

  • 为预处理语句添加了prepare()getResults()方法。

22-09-2014

  • 更新以支持PHP 5.3。
  • 将Database重命名为Mysql
  • 添加了基本的抽象Database类

20-09-2014

  • 将php数组配置替换为yaml

18-09-2014

  • 更新以支持最新的rawphp/rawbase软件包。

16-09-2014

  • tableExists()中用更简洁的解决方案替换了查询

14-09-2014

  • 实现了钩子系统。

13-09-2014

  • 将数据库初始化移动到init()

11-09-2014

  • 首次代码提交