Aura.Sqlで前回使わなかったメソッドなどを適当に使ってみます。
SELECT文が全くの意味不明ですが、あくまでSQLの例ということで。
SQL用には、他にjoin()もあり、大抵のSQLは書けるようになっています。
便利なのがsetPaging()とpage()で、ページング用のLIMIT句を簡単に作ってくれます。
setPaging()で1ページあたりの件数、page()で表示するページを指定です。
しかし何故わざわざquote、quoteIntoなんてメソッドを実装しているのかは謎。
理由がないかぎり使わないようにしましょう。
AuraPHPの記事
<?php require_once('path/to/channel/vendor/autoload.php'); // Aura.Sql $auraSql = new Aura\Sql\ConnectionFactory(); $connection = $auraSql->newInstance('mysql', 'host=localhost;dbname=test;charset=utf8;', 'testuser', 'testpass'); // 接続する $connection->connect(); // 失敗したらPDOException // PDOインスタンスを直接得る $pdo = $connection->getPdo(); // DSN $dsn = $connection->getDsnString(); // 'mysql:host=localhost;dbname=test;charset=utf8;' // クォート ただしprepareを使用すべき $str = $connection->quote("1' OR 1 "); $str = $connection->quoteInto("foo = ? AND bar = ? ", array("1' OR 1 ", "1' OR 1 ")); // テーブル一覧を取得 $tables = $connection->fetchTableList(); // カラム一覧を取得 $columns = $connection->fetchTableCols('hoge'); // SELECT $select = $connection->newSelect(); // SELECT $select->distinct(true); // distinct $select->cols(['*']); // * $select->from('hoge'); // FROM hoge $select->where('id = :id'); // WHERE id = :id $select->where('id = :id2'); // AND id = :id2 $select->orWhere('id = :id3'); // OR id = :id3 $select->groupBy(array('id')); // GROUP BY id $select->having('id = :id4'); // HAVING id = :id4 $select->orderBy(array('id DESC')); // ORDER BY id DESC //$select->limit(1); // LIMIT 1 //$select->offset(0); // OFFSET 1 $select->setPaging(5)->page(3); // LIMIT 5 OFFSET 10 $bind = array('id'=>1, 'id2'=>1, 'id3'=>1, 'id4'=>1); $data = $connection->fetchAll($select, $bind);
SELECT文が全くの意味不明ですが、あくまでSQLの例ということで。
SQL用には、他にjoin()もあり、大抵のSQLは書けるようになっています。
便利なのがsetPaging()とpage()で、ページング用のLIMIT句を簡単に作ってくれます。
setPaging()で1ページあたりの件数、page()で表示するページを指定です。
しかし何故わざわざquote、quoteIntoなんてメソッドを実装しているのかは謎。
理由がないかぎり使わないようにしましょう。
AuraPHPの記事
PR