Application::ARGS, ["--debug", "action" => "->setApplicationDebug", "help" => "Activer le mode DEBUG: comme VERBOSE mais les traceback sont affichés à partir des messages normaux", ], ["-0", "--init"], ["-t", "--throw"], ]; private $init, $throw; private $args; function main() { $this->testOracle(); #$this->testMysql(); #$this->testPgsql(); } function testOracle(): void { $conn = new OracleConn("//vs-apotest-bdd.univ.run:1521/apotest", "webread", "run974"); $q = $conn->query("select * from individu where cod_etu = :cod_etu", ["cod_etu" => "99002956"]); foreach ($q->execute() as $row) { Txx($row); } } function testMysql(): void { #$conn = new MysqlConn("mysql:host=localhost;dbname=test;charset=utf8", "jclain"); $conn = new MysqlConn("mysql:host=192.168.1.20;dbname=test;charset=utf8", "jclain", 'klokis$'); if ($this->init) { $conn->execDml("drop table if exists t"); $conn->execDml("create table t(id integer not null primary key auto_increment, a varchar(30), b integer, d date, t timestamp default current_timestamp)"); Txx($conn->execDml("insert into t(a, b) values ('first', 1)")); Txx($conn->execDml("insert into t(a, b, d) values ('second', 2, '2020-10-20')")); Txx($conn->execDml("insert into t(a, b, d) values ('second', 2, '2020-05-15')")); if ($this->throw) { Txx($conn->execDml("insert into t(id, a, b) values (2, 'conflict', 3)")); } $conn->commit(); } $do = 2; if ($do == 0) { $row = $conn->fetchRow("select a, b from t where b = 1"); Txx("b==1", $row); $row = $conn->fetchRow("select a, b from t where b = 100"); Txx("b==100", $row); $rows = $conn->fetchRows("select a, b from t"); Txx("all", $rows); $rows = $conn->fetchRows("select a, b from t where b > 100"); Txx("all b>100", $rows); } if ($do == 1) { $rows = $conn->fetchRows("select * from t"); foreach ($rows as $row) { Txx("row", $row); } } if ($do == 2) { $rows = $conn->query("select * from t")->execute(); foreach ($rows as $row) { Txx("row", $row); } } if ($do == 4) { $q = $conn->query("select * from t where d > :date"); Txx("after 01/01", $q->execute(false, ["date" => "01/01/2020"])->all()); Txx("after 15/06", $q->execute(false, ["date" => "15/06/2020"])->all()); } } function testPgsql(): void { } });