Skip to content

BaguettePHP/TetoSQL

Folders and files

NameName
Last commit message
Last commit date
May 17, 2022
Sep 2, 2022
Sep 2, 2022
Sep 2, 2022
May 17, 2022
May 17, 2022
May 29, 2022
Feb 17, 2016
May 26, 2022
Apr 30, 2022
Aug 23, 2019
Jul 8, 2022
May 17, 2022
May 17, 2022
Aug 22, 2019

Repository files navigation

TetoSQL

Test lang:PHP 8.1 lang:PHP 5.4

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\Query;

$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);

Copyright

TetoSQL is licensed under Mozilla Public License Version 2.0.

Simple and secure SQL templating
Copyright (c) 2019 USAMI Kenta <[email protected]>

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