mirror of
https://github.com/OpenXE-org/OpenXE.git
synced 2024-12-27 15:10:28 +01:00
1.6 KiB
1.6 KiB
Database-Komponente
Verwendete Libraries
-
Aura.SqlQuery:
- Composer:
aura/sqlquery:2.7.*
- Packagist: https://packagist.org/packages/aura/sqlquery
- GitHub: https://github.com/auraphp/Aura.SqlQuery
- Docs: https://github.com/auraphp/Aura.SqlQuery/tree/2.x
- Composer:
-
Aura.SqlWird in 19.4 entfernt- Composer:
aura/sql:3.*
- Packagist: https://packagist.org/packages/aura/sql
- GitHub: https://github.com/auraphp/Aura.Sql
- Docs: https://github.com/auraphp/Aura.Sql/blob/3.x/docs/index.md
- Composer:
Database-Komponente aus Container holen
$db = $container->get('Database');
Im alten Bereich:
$db = $this->app->Container->get('Database');
Themen
- Datensätze abrufen (fetch)
- Datensätze abrufen mit Generatoren (yield)
- Datensätze ändern
- Transaktionen
- Named Parameter / Prepared Statements
- SQL Query Builder
Exceptions
Die Database-Komponente verwendet intern mysqli
. Im Unterschied zu mysqli
werden in Fehlerfällen aber
Exceptions geworfen; z.B.:
- Wenn die Verbindung zur Datenbank fehlschlägt =>
ConnectionException
- Wenn ein SQL-Statement fehlerhaft ist oder aus anderen Gründen nicht erfolgreich ausgeführt
werden kann =>
QueryFailureException
- Wenn
Named Parameter
fehlen =>MissingParameterException
ExceptionInterface
Alle Exceptions die von der Database-Komponente geworfen werden implementieren das
\Xentral\Components\Database\Exception\DatabaseExceptionInterface
Interface.