%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper,headsepline,footsepline]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
% Funktioniert nicht \usepackage[automark]{scrpage2}%
\usepackage[automark]{scrlayer-scrpage}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

%Spalten
\usepackage{multicol}

% Single quotes
\usepackage{upquote,textcomp}

%Kopfzeile
\ihead{PHP}
\chead{}
\ohead{http://kohnlehome.de/php/php-sqlite-pdo.pdf}
%\setheadsepline{0.5pt}

%Fußzeile
%\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
    \LARGE % Schriftgröße
    \bfseries % Fettdruck
    \sffamily % Serifenlose Schrift
    PHP und SQLite (PDO)
\end{center}

\section{Verbindung mit Datenbank}
\begin{verbatim}
$pdo = new PDO('sqlite:schueler.db');
\end{verbatim}

\section{SQL-Anweisung ohne Rückgabewert}
\begin{verbatim}
$pdo->exec(
    "CREATE TABLE schueler (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        vorname TEXT,
        nachname TEXT
    )"
);
\end{verbatim}

\section{SQL-Anweisung mit Prepared Statement}
\begin{verbatim}
$stmt = $pdo->prepare(
    "INSERT INTO schueler (vorname, nachname)
     VALUES (:vorname,:nachname)"
);
 
$stmt->bindValue("vorname", "Anna");
$stmt->bindValue("nachname", "Arm");
$stmt->execute();
 
$stmt->bindValue("vorname", "Berta");
$stmt->bindValue("nachname", "Bein");
$stmt->execute();
\end{verbatim}

\section{SQL-Anweisung mit Rückgabewert}
\begin{verbatim}
$tabelle = $pdo->query('SELECT * FROM schueler');
 
foreach ($tabelle as $schueler) {
    ... = $schueler["vorname"];
    ... = $schueler["nachname"];
}
\end{verbatim}

\end{document}

