You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.8 KiB
59 lines
1.8 KiB
<?php
|
|
|
|
// class Connection extends PDO {
|
|
// private $stmt;
|
|
// public function __construct(string $dsn) {
|
|
// parent::__construct($dsn);
|
|
// echo "connection";
|
|
// $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }
|
|
|
|
// public function executeQuery(string $query, array $parameters = []) :bool {
|
|
// $this->stmt = parent::prepare($query);
|
|
// foreach ($parameters as $name => $value) {
|
|
// $this->stmt->bindValue($name, $value[0], $value[1]); }
|
|
// return $this->stmt->execute(); }
|
|
// public function getResults(): array {
|
|
// return $this->stmt->fetchall();
|
|
// }
|
|
// }
|
|
|
|
class Connection extends SQLite3
|
|
{
|
|
private $stmt;
|
|
private $result;
|
|
function __construct($dsn)
|
|
{
|
|
$this->open($dsn);
|
|
$this->enableExceptions(true);
|
|
}
|
|
|
|
public function executeQuery(string $query, array $parameters = []): bool
|
|
{
|
|
$this->stmt = parent::prepare($query);
|
|
foreach ($parameters as $name => $value) {
|
|
$this->stmt->bindValue($name, $value[0], $value[1]);
|
|
}
|
|
$this->result = $this->stmt->execute();
|
|
if ($this->result == false) {
|
|
$this->result->finalize();
|
|
return false;
|
|
} else {
|
|
$this->result->finalize();
|
|
return true;
|
|
}
|
|
}
|
|
|
|
public function getResults(): array
|
|
{
|
|
$resultArray = array();
|
|
$multiArray = array();
|
|
while($resultArray != false){
|
|
$resultArray = $this->result->fetchArray(SQLITE3_ASSOC); //read next row
|
|
array_push($multiArray, $resultArray); //insert all rows to $multiArray
|
|
}
|
|
if ($multiArray == NULL)
|
|
return array();
|
|
else
|
|
return $multiArray;
|
|
}
|
|
} |