zonuexe/tetosql

Simple and secure SQL templating

0.0.3 2016-06-20 00:10 UTC

README

PHP Data Objects(PDO) wrapper and SQL Template for PHP

Features

  • PDO Wrapper
  • Query Template
    • Type safe
    • Sequence of values

Manual

Japanese: 憂鬱なSQLのためのアレ、またはPDOと仲良くして枕を高くしてねむる

Syntax

type

  • @int - Integer value (-9223372036854775808 <= n <=9223372036854775807)
  • @int[] - Sequence of integers
  • @string - String
  • @string[] - Sequence of strings
  • @lob - Large OBject
  • @ascdesc - "ASC" or "DESC" or "asc" or "desc"

Example

<?php
namespace MyApp;
use Teto\SQL;

const find = '
 SELECT * FROM `users`
 WHERE `status` IN (:statuses@int[])
 LIMIT :offset@int, :limit@int
';
$conn = new \PDO('sqlite:/tmp/db.sq3', null, null, [PDO::ATTR_PERSISTENT => true]);
$data = Query::execute($conn, find, [
    ':statuses' => [1, 3],
    ':offset'   => 60,
    ':limit'    => 30,
])->fetch(\PDO::FETCH_ASSOC);

Copyright

TetoSQL is licensed under Mozilla Public License Version 2.0.

Simple and secure SQL templating
Copyright (c) 2016 USAMI Kenta <tadsan@zonu.me>

PxvSql

TetoSQL is forked (and detuned) from private library of pixiv Inc. that is called PxvSql.

PHP Manual

PDOInterface.php and PDOStatementInterface.php is based on PHP Manual (en).

Copyright © 1997 - 2016 by the PHP Documentation Group. This material may be distributed only subject to the terms and conditions set forth in the Creative Commons Attribution 3.0 License or later. A copy of the Creative Commons Attribution 3.0 license is distributed with this manual. The latest version is presently available at » http://creativecommons.org/licenses/by/3.0/.