Files
skyview.astronomiemuseum.de/docs/README_DATENBANKABFRAGEN.md
T
2026-04-11 18:44:25 +02:00

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.php verwenden und keine Zugangsdaten hart in Dateien eintragen.
  • Wenn nur geprueft werden soll, reichen SELECT-Abfragen ohne schreibende Operationen.