1.9 KiB
1.9 KiB
Datenbankabfragen
Diese Notiz beschreibt, wie in diesem Projekt lokale Datenbankabfragen ausgefuehrt werden koennen.
Zugangsdaten
Die Verbindungsdaten liegen in:
config/database.php
Dort stehen host, dbname, user, pass und charset.
Empfohlener Weg
Am einfachsten ist eine kurze PHP-Datei oder ein kurzes PHP-Skript, das die vorhandene Projektkonfiguration verwendet.
Beispiel:
<?php
declare(strict_types=1);
$config = require __DIR__ . '/../config/database.php';
$dsn = sprintf(
'mysql:host=%s;dbname=%s;charset=%s',
$config['host'],
$config['dbname'],
$config['charset'] ?? 'utf8mb4'
);
$pdo = new PDO(
$dsn,
$config['user'],
$config['pass'],
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
]
);
$stmt = $pdo->query("SELECT id, mp_number, designation_text FROM minorplanets_mpc WHERE mp_number = 1 LIMIT 1");
$row = $stmt->fetch();
echo json_encode($row, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
Ausfuehrung
Wenn php nicht im Systempfad liegt, kann die lokale php.exe direkt verwendet werden.
Beispiel von diesem Rechner:
C:\laragon\bin\php\php-8.4.5-nts-Win32-vs17-x64\php.exe .codex-temp\check_defaults.php
Praktische Beispielabfragen
Ceres pruefen:
SELECT id, mp_number, designation_text, desig_packed
FROM minorplanets_mpc
WHERE mp_number = 1
LIMIT 1;
Halley pruefen:
SELECT id, designation_and_name, orbit_type
FROM comets_mpc
WHERE designation_and_name LIKE '%Halley%'
ORDER BY designation_and_name ASC, id ASC
LIMIT 10;
Hinweise
- Temporaere Pruefskripte am besten in
.codex-temp/anlegen und danach wieder loeschen. - Fuer Projektcode immer die vorhandene
config/database.phpverwenden und keine Zugangsdaten hart in Dateien eintragen. - Wenn nur geprueft werden soll, reichen
SELECT-Abfragen ohne schreibende Operationen.