\CodeLapseDB

データベースユーティリティクラス

//-- CodeLapse(bs.php)を読み込んだ時
require 'pathToCodeLapse/bootstrap.php';
$result = DB::query('SELECT `somefield` FROM `sometable`');

//-- db.phpを単体で読み込んだ時
require 'pathToDb/db.php';
$con = DB::connect('hostName', 'user', 'password');
$result = $con->query('SOME SQL QUERY');

データベース接続からSQL送信までの流れ

db.php を単体で読み込んだ時

// (例: userid => lzm, password => wox#a'zlp)
$userid = $_POST['userid'];
$password = $_POST['password'];

// DBと接続する
$con = DB::connect('localhost', 'user', 'password');

// クエリを送る
// 配列に渡した値が、クエリに埋め込まれていることに注目。
// (送信されるクエリ: SELECT * FROM Users WHERE userid = 'lzm' AND password = 'wox#a\'zlp')
$result = $con->query(
     'SELECT * FROM Users WHERE userid = :id AND password = :pass',
     array(':id' => $userid, ':pass' => $password)
);

if ($result->fetch() !== false) {
     echo 'ログイン成功';
} else {
     echo 'ログイン失敗';
}

bootstrap.phpを取り込んだ時

//!! (事前に "config/db.php"を設定しておく必要があります。)

// (例: userid => lzm, password => wox#a'zlp)
$userid = Input::post('userid');
$password = Input::post('password');

// クエリを送る
// 配列に渡した値が、クエリに埋め込まれていることに注目。
// (送信されるクエリ: SELECT * FROM Users WHERE userid = 'lzm' AND password = 'wox#a\'zlp')
$result = DB::query(
     'SELECT * FROM Users WHERE userid = :id AND password = :pass',
     array(':id' => $userid, ':pass' => $password)
);

if ($result->fetch() !== false) {
     echo 'ログイン成功';
} else {
     echo 'ログイン失敗';
}

取得した結果を全件表示する

//-- CodeLapseライブラリ使用中の場合を想定
// SQLの実行結果は $result に入っている
foreach ($result as $row) {
     // $rowに一行分のデータが入ってくる
     print_r($row);
}

Summary

Methods
Properties
Constants
instance()
connect()
errorMessage()
errorCode()
useDB()
setCharset()
query()
startTransaction()
commit()
rollback()
inTransaction()
lastInsertId()
quote()
quoteIdentifier()
No public properties found
ERR_CONNECTION_FAILED
DEFAULT_CONNECTION_NAME
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Constants

ERR_CONNECTION_FAILED

ERR_CONNECTION_FAILED

DEFAULT_CONNECTION_NAME

DEFAULT_CONNECTION_NAME

Methods

instance()

instance(string|null $connectionName)

指定した接続のコネクションインスタンスを取得します。

既存のコネクション、もしくは接続設定ファイルからコネクションを生成します。

接続設定は config/db.phpの設定を参照します。
Configクラスを利用して、"db"名前空間に接続設定を読み込んでください。

Parameters

string|null $connectionName

(オプション) 取得する接続名

Throws

\CodeLapse\OutOfBoundsException

dbconfig.phpに記述されていないコネクション名が指定された時にスローされます。

\CodeLapse\InvalidArgumentException

単体ライブラリとして利用しているときに、ホスト名とユーザー名が指定されない時に発生します。

connect()

connect(string $host, string $user,  $passwd, null|boolean $newConnection, null|string $connectionName) : \CodeLapse\DB_Connection

データベースへ接続します。

オープンされたコネクションは内部に保持されます。 実行中、最初に開かれたコネクションを標準コネクションとして使用します。

try {
    $con = DB::connect(DB_HOST, DB_USER, DB_PASSWD);
}
catch (DB_Exception $e) {
    // 接続に失敗
}

Parameters

string $host

ホスト名

string $user

ユーザー名

$passwd
null|boolean $newConnection

(optional) 既存のコネクションを使用しないか指定します。

null|string $connectionName

(optional) コネクションに対する名前。

 instanceメソッドでインスタンスを取得する際に指定する名前です。

Throws

\CodeLapse\DB_Exception

データベース接続に失敗した時にスローされます。

Returns

\CodeLapse\DB_Connection —

DBConnectionインスタンス

errorMessage()

errorMessage(string|null $connection) : string

指定したコネクション上で、最近実行したクエリで発生したエラーの内容を取得します。

エラーが発生していない時は、空文字を返します。

Parameters

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Returns

string

errorCode()

errorCode(string|null $connection) : integer

指定されたコネクション上で、最近実行したクエリで発生したエラーのコードを取得します。

エラーが発生しなかった場合は、0を返します。

Parameters

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Returns

integer

useDB()

useDB(string $db_name, string|null $connection) : boolean

指定したコネクションで使用するデータベースを指定します。

Parameters

string $db_name

使用するデータベース名

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Returns

boolean

setCharset()

setCharset(string $charset, string|null $connection) : boolean

コネクションで使用する文字コードを設定します。

Parameters

string $charset

文字コード

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Returns

boolean

query()

query(string $sql, array|null $params, string|null $connection)

指定したコネクション上でクエリーを実行し���す���

Parameters

string $sql

クエリ。"?"、":name"を埋め込み、パラメータを後から指定することが可能です。

array|null $params

(optional) クエリに埋め込むパラメータ

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

startTransaction()

startTransaction(string|null $connection) : boolean

指定したコネクションでトランザクションを開始します。

Parameters

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Returns

boolean

commit()

commit(string|null $connection) : boolean

指定したコネクションのトランザクションを終了し、実行結果をコミットします。

Parameters

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Returns

boolean

rollback()

rollback(string|null $connection) : boolean

指定したコネクション上のトランザクションを中止し、行った処理をすべて無効化します。

トランザクション中でない時、DB_Exceptionをスローします。

Parameters

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Throws

\CodeLapse\DB_Exception

Returns

boolean

inTransaction()

inTransaction(string|null $connection) : boolean

指定したコネクションがトランザクション中か調べます。

Parameters

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Returns

boolean

lastInsertId()

lastInsertId(string $name, string|null $connection)

指定されたコネクション上で最後に挿入された行のID、もしくはシーケンス値を返します。

Parameters

string $name

(optional) シーケンスオブジェクト名

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

quote()

quote(string $string, string|null $connection) : string

入力文字列内のシングルクオートをエスケープし、前後に引用符をつけた文字列を返します。

Parameters

string $string

文字列

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Returns

string —

SQLの値として適切な形式に整形された文字列

quoteIdentifier()

quoteIdentifier(string $string, string|null $connection) : string

入力文字列のバッククオートをエスケープし、バッククオートで囲ったをつけた文字列を返します。

Parameters

string $string

文字列

string|null $connection

(optional) 接続名。指定されない場合、初期コネクションを利用します。

Returns

string —

SQLの値として適切な形式に整形された文字列