Skip to content
No description or website provided.
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
tools
.gitignore
LICENSE
README.md
composer.json
infection.json.dist
phpstan.neon.dist
phpunit.xml.dist

README.md

TetoSQL

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) 2019 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/.

You can’t perform that action at this time.