94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php # -*- coding: utf-8 mode: php -*- vim:sw=2:sts=2:et:ai:si:sta:fenc=utf-8
 | |
| # fichier utilisé pour les tests. on peut y écrire du code pour vérifier le
 | |
| # fonctionnement de certaines classes et méthodes
 | |
| require(__DIR__.'/../../vendor/autoload.php');
 | |
| 
 | |
| use nur\cli\Application;
 | |
| use nur\m\oracle\OracleConn;
 | |
| use nur\m\pdo\mysql\MysqlConn;
 | |
| 
 | |
| Application::run(new class extends Application {
 | |
|   const ARGS = [
 | |
|     "merge" => 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 {
 | |
|   }
 | |
| });
 |