Compare commits
2 commits
5a1fdccced
...
1339de93bf
Author | SHA1 | Date | |
---|---|---|---|
1339de93bf | |||
24db1bd83d |
9 changed files with 32 additions and 23 deletions
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
0.2408.182001
|
||||
0.2408.401738
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// IDbConnection.php
|
||||
// Created: 2021-04-30
|
||||
// Updated: 2022-02-27
|
||||
// Updated: 2024-09-13
|
||||
|
||||
namespace Index\Data;
|
||||
|
||||
|
@ -18,6 +18,13 @@ interface IDbConnection extends ICloseable {
|
|||
*/
|
||||
function getLastInsertId(): int|string;
|
||||
|
||||
/**
|
||||
* Gets the number of rows affected by the last operation.
|
||||
*
|
||||
* @return int|string Number of rows affected by the last operation.
|
||||
*/
|
||||
function getAffectedRows(): int|string;
|
||||
|
||||
/**
|
||||
* Prepares a statement for execution and returns a database statement instance.
|
||||
*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// IDbStatement.php
|
||||
// Created: 2021-05-02
|
||||
// Updated: 2024-08-03
|
||||
// Updated: 2024-09-13
|
||||
|
||||
namespace Index\Data;
|
||||
|
||||
|
@ -58,8 +58,10 @@ interface IDbStatement extends ICloseable {
|
|||
|
||||
/**
|
||||
* Executes this statement.
|
||||
*
|
||||
* @return int|string Number of rows affected by the query.
|
||||
*/
|
||||
function execute(): void;
|
||||
function execute(): int|string;
|
||||
|
||||
/**
|
||||
* Resets this statement for reuse.
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// MariaDBConnection.php
|
||||
// Created: 2021-04-30
|
||||
// Updated: 2024-08-04
|
||||
// Updated: 2024-09-13
|
||||
|
||||
namespace Index\Data\MariaDB;
|
||||
|
||||
|
@ -146,11 +146,6 @@ class MariaDBConnection implements IDbConnection, IDbTransactions {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of rows affected by the last operation.
|
||||
*
|
||||
* @return int|string Number of rows affected by the last operation.
|
||||
*/
|
||||
public function getAffectedRows(): int|string {
|
||||
return $this->connection->affected_rows;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// MariaDBStatement.php
|
||||
// Created: 2021-05-02
|
||||
// Updated: 2024-08-03
|
||||
// Updated: 2024-09-13
|
||||
|
||||
namespace Index\Data\MariaDB;
|
||||
|
||||
|
@ -121,7 +121,7 @@ class MariaDBStatement implements IDbStatement {
|
|||
return $this->statement->insert_id;
|
||||
}
|
||||
|
||||
public function execute(): void {
|
||||
public function execute(): int|string {
|
||||
$args = [''];
|
||||
|
||||
foreach($this->params as $key => $param) {
|
||||
|
@ -154,6 +154,8 @@ class MariaDBStatement implements IDbStatement {
|
|||
|
||||
if(!$this->statement->execute())
|
||||
throw new RuntimeException($this->getLastErrorString(), $this->getLastErrorCode());
|
||||
|
||||
return $this->statement->affected_rows;
|
||||
}
|
||||
|
||||
public function reset(): void {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// NullDbConnection.php
|
||||
// Created: 2021-05-02
|
||||
// Updated: 2024-08-01
|
||||
// Updated: 2024-09-13
|
||||
|
||||
namespace Index\Data\NullDb;
|
||||
|
||||
|
@ -15,6 +15,10 @@ class NullDbConnection implements IDbConnection {
|
|||
return 0;
|
||||
}
|
||||
|
||||
public function getAffectedRows(): int|string {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public function prepare(string $query): IDbStatement {
|
||||
return new NullDbStatement;
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// NullDbStatement.php
|
||||
// Created: 2021-05-02
|
||||
// Updated: 2024-08-03
|
||||
// Updated: 2024-09-13
|
||||
|
||||
namespace Index\Data\NullDb;
|
||||
|
||||
|
@ -27,7 +27,9 @@ class NullDbStatement implements IDbStatement {
|
|||
return 0;
|
||||
}
|
||||
|
||||
public function execute(): void {}
|
||||
public function execute(): int|string {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public function reset(): void {}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// SQLiteConnection.php
|
||||
// Created: 2021-05-02
|
||||
// Updated: 2024-08-03
|
||||
// Updated: 2024-09-13
|
||||
|
||||
namespace Index\Data\SQLite;
|
||||
|
||||
|
@ -379,11 +379,6 @@ class SQLiteConnection implements IDbConnection, IDbTransactions {
|
|||
$this->connection->enableExceptions(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of rows affected by the last operation.
|
||||
*
|
||||
* @return int|string Number of rows affected by the last operation.
|
||||
*/
|
||||
public function getAffectedRows(): int|string {
|
||||
return $this->connection->changes();
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
// SQLiteStatement.php
|
||||
// Created: 2021-05-02
|
||||
// Updated: 2024-08-03
|
||||
// Updated: 2024-09-13
|
||||
|
||||
namespace Index\Data\SQLite;
|
||||
|
||||
|
@ -83,11 +83,13 @@ class SQLiteStatement implements IDbStatement {
|
|||
return $this->connection->getLastInsertId();
|
||||
}
|
||||
|
||||
public function execute(): void {
|
||||
public function execute(): int|string {
|
||||
$result = $this->statement->execute();
|
||||
if($result === false)
|
||||
throw new RuntimeException((string)$this->connection->getLastErrorString(), $this->connection->getLastErrorCode());
|
||||
$this->result = $result;
|
||||
|
||||
return $this->connection->getAffectedRows();
|
||||
}
|
||||
|
||||
public function reset(): void {
|
||||
|
|
Loading…
Reference in a new issue