TetoSQL
, (*1)
PHP Data Objects(PDO) wrapper and SQL Template for PHP, (*2)
Features
- PDO Wrapper
- Query Template
- Type safe
- Sequence of values
Manual
Japanese: 憂鬱なSQLのためのアレ、またはPDOと仲良くして枕を高くしてねむる, (*3)
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
<?php, (*4)
namespace MyApp;, (*5)
use Teto\SQL\Query;, (*6)
$conn = new \PDO('sqlite:/tmp/db.sq3', null, null, [\PDO::ATTR_PERSISTENT => true]);
$data = Query::execute(
$conn,
<<<'SQL'
SELECT * FROM users
WHERE status IN (:statuses@int[])
LIMIT :offset@int, :limit@int
SQL,
[
':statuses' => [1, 3],
':offset' => 60,
':limit' => 30,
]
)->fetch(\PDO::FETCH_ASSOC);
```, (*7)
Copyright
TetoSQL is licensed under Mozilla Public License Version 2.0., (*8)
Simple and secure SQL templating
Copyright (c) 2019 USAMI Kenta <tadsan@zonu.me>
PxvSql
TetoSQL is forked (and detuned) from private library of pixiv Inc. that is called PxvSql., (*9)
PHP Manual
PDOInterface.php and PDOStatementInterface.php is based on PHP Manual (en)., (*10)
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/., (*11)