Ez a könyvtár egy PDO-alapú PHP osztály, amely lehetővé teszi egyszerű és rugalmas adatbázis-műveletek végrehajtását. Az osztály tartalmazza a leggyakrabban használt adatbázis-kezelési funkciókat, például lekérdezések készítését, beszúrást, törlést és tranzakciókezelést.
- Klónozd a projektet vagy töltsd le a forráskódot a GitHubról:
git clone https://github.com/your-repo/sosoricsi-query.git
- Töltsd be az osztályt a projektedbe:
require_once 'path/to/Db.php';
- Telepítsd a csomagot:
composer require sosoricsi/query
- Importáld a kódba:
require 'path/to/vendor/autoload.php';
use SosoRicsi\Query\Db;
Az adatbázis kapcsolat beállításához és létrehozásához az alábbi metódusokat használd:
$db = new Db();
$db->setDatabase('localhost', 'username', 'password', 'mysql');
$db->connect('adatbazis_nev');
A table()
metódussal adhatod meg a művelet célját képező táblát:
$db->table('felhasznalok');
Az columnExists()
metódussal ellenőrizheted, hogy egy adott oszlop létezik-e:
if ($db->columnExists('email', 'felhasznalok')) {
echo "Az oszlop létezik!";
}
Az alábbi metódusok segítségével paraméterezheted a lekérdezéseket:
select(string $field)
: A lekérdezendő oszlopok megadása.where(string $column, string $operator, string $value)
: Feltétel megadása azAND
operátorral.orWhere(string $column, string $operator, string $value)
: Feltétel megadása azOR
operátorral.notWhere(string $column, string $operator, string $value)
: Feltétel megadása aNOT
operátorral.order(string $columns, string $type)
: Sorbarendezés megadása.limit(int $limit)
: Sorok számának korlátozása.offset(int $offset)
: Kezdőpont megadása.
Példa lekérdezés:
$eredmenyek = $db->table('felhasznalok')
->select('id, nev, email')
->where('kor', '>', '18')
->orWhere('aktiv', '=', '1')
->order('nev', 'ASC')
->limit(10)
->offset(5)
->get();
foreach ($eredmenyek as $felhasznalo) {
echo $felhasznalo->nev;
}
Az insert()
metódussal egyszerűen adhatsz hozzá új adatokat:
$ujId = $db->table('felhasznalok')
->insert('nev, email, kor', ['John Doe', '[email protected]', 25]);
echo "Új rekord ID: " . $ujId;
A delete()
metódussal adatokat törölhetsz:
$db->table('felhasznalok')
->where('id', '=', '5')
->delete();
A raw()
metódussal tetszőleges SQL parancsot hajthatsz végre:
$eredmenyek = $db->raw('SELECT * FROM felhasznalok WHERE kor > ?', [18]);
foreach ($eredmenyek as $felhasznalo) {
echo $felhasznalo->nev;
}
A join()
metódussal csatlakozásokat adhatsz hozzá a lekérdezésekhez:
$eredmenyek = $db->table('felhasznalok')
->join('INNER JOIN', 'rendelesek', 'felhasznalok.id = rendelesek.felhasznalo_id')
->get();
Az alábbi metódusok használhatók tranzakciók kezelésére:
transaction()
: Tranzakció indítása.commit()
: Tranzakció mentése.rollback()
: Tranzakció visszavonása.
Példa:
try {
$db->transaction();
$db->table('felhasznalok')->insert('nev, email', ['Jane Doe', '[email protected]']);
$db->table('felhasznalok')->insert('nev, email', ['John Smith', '[email protected]']);
$db->commit();
} catch (Exception $e) {
$db->rollback();
echo "Hiba történt: " . $e->getMessage();
}
A clear()
metódus automatikusan törli az aktuális lekérdezés állapotát minden új table()
híváskor.
A close()
metódussal zárhatod le az adatbázis-kapcsolatot:
$db->close();
Ha hibát találsz, vagy szeretnél hozzájárulni a projekthez, nyiss egy issue-t vagy küldj egy pull requestet.
Ez a projekt MIT licenc alatt érhető el.