Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[SQLite3] SQLite3 using with PHP
#1
Im Intranet3, dem Testcenter, habe ich verschiedene PHP-Code-Schnipsel zur Verwendung von SQLite3 getestet, um sie später mal in meinen Scripten zu verwenden. Da ich diese Schnipsel noch zu Zeiten vn PHP5.x getestet hatte, muss ich nun die Funktionalität i.V.m PHP7.4x überprüfen und ggfs. neu lernen.

Prüfung, ob Datenbank vorhanden ist**

PHP-Code:
<?php
    
//das Ausrufezeichen negiert die Abfrage, also kann ich nach dem ELSE den Programmcode fortsetzen und habe immer    SQLite3 vor Augen
    if(! extension_loaded("sqlite3")) 
        echo "<p>sqlite3-Bibliothek nicht vorhanden</p>";
    else
        echo "<p style=\"background-color: silver; \">sqlite3-Bibliothek vorhanden</p>";
?>

Diese Variante ist negiert, damit im postiven Falle in der ELSE-Verzweigung der eigentliche Programmcode ablaufen kann. Es macht Sinn, nach dem Feststellen eines Fehlers, alles abzubrechen und eine Fehlermeldung auszugeben. So sollte ich künftig alle meine Programm aufbauen, damit ich weiß, ob das Programm überhaupt läuft.

Eine Datenank anlegen

PHP-Code:
<?php
    $db 
= new SQLite3("sq3.db");
?>

Existiert die Datenbank bereits, so wird sie geöffnet und der Cursor steht am Prompt.

Existiert die Datenbank noch nicht, wird sie erstellt und der Cursor steht am Prompt. Wird allerdings in der Datenbank nicht mindestens eine Tabelle erstellt, so wird die Datenbank(-datei) beim Verlassen nicht gespeichert. Die Datenbank existiert dann nicht.

Eine Tabelle anlegen

PHP-Code:
<?php
    $db
->exec("create table personen (id integer primary key, name, vorname, personalnummer, gehalt, geburtstag);");
?>

Es werden keine expliziten Datentypen mitgegeben. Nur der primary key wird gesetzt und ist ein auto_increment.

Die Datenbank abfragen

PHP-Code:
<?php
    
/* Datenbankdatei öffnen bzw. erzeugen */
    $db = new SQLite3("sq3.db");

    /* Datenbank abfragen */
    $res $db->query("select * from personen");

    echo "<table>";
    echo "<tr><th>Name</th><th>Vorname</th><th>P-Nr.</th><th>Gehalt</th><th>Geburtstag</th></tr>";

    /* Abfrageergebnis ausgeben */
    while($dsatz $res->fetchArray(SQLITE3_ASSOC))
    {
        echo "<tr>";
        echo "<td>" $dsatz["name"] . "</td>";
        echo "<td>" $dsatz["vorname"] . "</td>";
        echo "<td>" $dsatz["personalnummer"] . "</td>";
        echo "<td>" number_format($dsatz["gehalt"], 2',''.') . "</td>";
        echo "<td>" $dsatz["geburtstag"] . "</td>";
        echo "</tr>";
    }
    echo "</table>";

    /* Verbindung zur Datenbank wieder lösen */
    $db->close();
?>
Zitieren Return to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste