Premium Partner

WebTec PHP 4

Messer Klausurfragen PDO

Messer Klausurfragen PDO


Kartei Details

Karten 17
Sprache Deutsch
Kategorie Informatik
Stufe Universität
Erstellt / Aktualisiert 24.03.2018 / 24.03.2018
Lizenzierung Keine Angabe
Weblink
https://card2brain.ch/box/20180324_webtec_php_4
Einbinden
<iframe src="https://card2brain.ch/box/20180324_webtec_php_4/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

1. Skizzieren Sie ein kleines Beispiel für den ersten PHP-Zugriff auf eine MySQL-Datenbank. Benutzen Sie dazu das PDO-Objekt.

 

...

$db= new PDO($DSN,$DB_USER,$DB_PW,$DB_options);

...

2. Wenn Sie mit PDO auf eine Datenbank erstmalig zugreifen, kann es sein, dass eine Exception geworfen wird. Skizzieren Sie das syntaktische Schema in PHP, wenn Exceptions geworfen werden.

try {

$db= new PDO($DSN,$DB_USER,$DB_PW,$DB_options);

$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

} catch(PDOException $err) {

echo 'DB ERROR: '.$err->getMessage().PHP_EOL;

}

3. Was bedeutet PDO? Und welchen Sinn hat diese Klasse? Warum sollte PDO statt der Software vom Datenbank-Hersteller verwendet werden?

  • PDO=Portable Data Object

  • abstrahiert von den verschiedenen Schnittstellen zu den Datenbanken – aber nur syntaktisch. Die speziellen Eigenschaften der SQL-Dialekte der jeweiligen Datenbanken bleiben jedoch erhalten!

  • Wrapperklasse für Schnittstelle für Datenbanken

4. Wie wird mit PDO ein SQL-Statement, das keine Daten aus der Datenbank an den Aufrufer liefert, an die Datenbank abgesetzt?

Mit dem EXEC-Statement. QUERY-Statement liefert hingegen immer Daten

5. Wie wird mit PDO ein SELECT-Statement, das Daten an den Aufrufer liefert, an die Datenbank abgesetzt?

Es wird mit Hilfe der Methode – query($SQLStatment) abgesetzt.

6. Mit welcher PDO-Routine kann auf das Ergebnis eines SELECTs zugegriffen werden? Nennen Sie zwei Möglichkeiten.

fetch() liest die nächste Zeile des letzten Querys.
fetchall() liest die ganze Tabelle in ein Array ein.

7. Warum müssen vor der Verarbeitung von Formularen immer alle Daten geprüft werden? Beschreiben Sie einen Problemfall.

Weil ungeprüfte Formulardaten ein Sicherheitsrisiko darstellen. Über eine Sql-Injection kann
ein SQL-Statement ausgeführt werden. Oder es kann zu Fehlern in der Datenbank führen.

8. Skizzieren Sie das allgemeine Schema bei der Benutzung von Prepared Statements.

$query = “select * from account where name=:LoginName“
$stmt = $db->prepare($query);
$stmt ->bindValue( ‘:LoginName’ $var, PDO::PARAM_STR);
$stmt -> execute();