TestTool/PHP-Funktionen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
K Dirkwagner verschob die Seite TestTool:PHP-Funktionen nach TestTool/PHP-Funktionen, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „:“ durch „/“ |
||
(16 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Dies ist eine alphabetische Auflistung der verwendeten PHP-Funktionen. | Dies ist eine alphabetische Auflistung der verwendeten PHP-Funktionen. | ||
==bindParam()== | |||
===Beschreibung=== | |||
*PDO-Statement: Verbindet einen Parameter zu einer spezifischen Variable('Identifier') in einer ''Prepared'' SQL-Abfrage | |||
*PDO-Statement: Verbindet einen Parameter zu einer spezifischen Variable in einer ''Prepared'' SQL-Abfrage | |||
*Die Variable kann einen spezifischen Namen oder ein Fragezeichen sein | *Die Variable kann einen spezifischen Namen oder ein Fragezeichen sein | ||
===Beispiele=== | |||
<?php | <?php | ||
/ | //Einsatz von bindParam() mit benannten "Identifier" | ||
$ | $upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?' | ||
$ | $upd_schwierigkeit = 1; | ||
$ | $upd_frageart = 1; | ||
$upd_lernwoche = 3; | |||
$upd_id = 2; | |||
$ | $update = $conn->prepare("UPDATE fragen SET fr_fragetext =:fragtext, fr_sc_id =:level, fr_fa_id =:fragart, fr_lw_id =:lernwoche WHERE fr_id =:id LIMIT 1"); | ||
$ | $update->bindParam(':fragtext', $upd_fragetext); | ||
$ | $update->bindParam(':level', $upd_schwierigkeit); | ||
$update->bindParam(':fragart', $upd_frageart); | |||
$update->bindParam(':lernwoche', $upd_lernwoche); | |||
$update->bindParam(':id', $upd_id); | |||
if ($update->execute()) | |||
{ | |||
echo "Datensatz wurde erfolgreich geändert"; | |||
$modus_aendern = false; | |||
header('Location: fragen.php'); | |||
} | |||
?> | ?> | ||
<?php | <?php | ||
/ | //Einsatz von bindParam() mit Fragezeichen als Platzhalter | ||
$ | $upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?' | ||
$ | $upd_schwierigkeit = 1; | ||
$ | $upd_frageart = 1; | ||
$upd_lernwoche = 3; | |||
$upd_id = 2; | |||
$ | $update = $conn->prepare("UPDATE fragen SET fr_fragetext =?, fr_sc_id =?, fr_fa_id =?, fr_lw_id =? WHERE fr_id =? LIMIT 1"); | ||
$ | $update->bindParam(1, $upd_fragetext); | ||
$ | $update->bindParam(2, $upd_schwierigkeit); | ||
$update->bindParam(3, $upd_frageart); | |||
$update->bindParam(4, $upd_lernwoche); | |||
$update->bindParam(5, $upd_id); | |||
if ($update->execute()) | |||
{ | |||
echo "Datensatz wurde erfolgreich geändert"; | |||
$modus_aendern = false; | |||
header('Location: fragen.php'); | |||
} | |||
?> | ?> | ||
===Anmerkungen=== | |||
*Beim Benutzen von Fragezeichen beginnt der Identifier mit einer 1 | *Beim Benutzen von Fragezeichen beginnt der Identifier mit einer 1 | ||
*Bei mehreren Fragezeichen muss mehrmals bindParam() ausgeführt werden. | *Bei mehreren Fragezeichen muss mehrmals bindParam() ausgeführt werden | ||
*Alternativ siehe ''execute()'' | |||
==__construct()== | |||
===Beschreibung=== | |||
*PDO-Konstrukt, um PHP mit einer Datenbank zu verbinden | |||
===Beispiel=== | |||
<?php | |||
/* Verbinden mit einer mySQL-Datenbank */ | |||
$dsn = 'mysql:dbname=testdb;host=127.0.0.1'; | |||
$user = 'dbuser'; | |||
$password = 'dbpass'; | |||
$dbh = new PDO($dsn, $user, $password); | |||
?> | |||
===Anmerkungen=== | |||
*Alternativ: <code>$dbh = new PDO(mysql:dbname=testdb;host=127.0.0.1, dbuser, dbpass)</code> | |||
*Einsatz von Variablen ist viel praktischer | |||
==execute()== | |||
===Beschreibung=== | |||
*PDO-Statement:Führt ein Prepared Statement aus | |||
*Kann auch ein Array mit Eingabewerten(Parametern) enthalten | |||
===Beispiel=== | |||
<?php | |||
//Einsatz von bindParam() und execute() mit Fragezeichen als Platzhalter | |||
$upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?' | |||
$upd_schwierigkeit = 1; | |||
$upd_frageart = 1; | |||
$upd_lernwoche = 3; | |||
$upd_id = 2; | |||
$update = $conn->prepare("UPDATE fragen SET fr_fragetext =?, fr_sc_id =?, fr_fa_id =?, fr_lw_id =? WHERE fr_id =? LIMIT 1"); | |||
$update->bindParam(1, $upd_fragetext); | |||
$update->bindParam(2, $upd_schwierigkeit); | |||
$update->bindParam(3, $upd_frageart); | |||
$update->bindParam(4, $upd_lernwoche); | |||
$update->bindParam(5, $upd_id); | |||
if ($update->execute()) | |||
{ | |||
echo "Datensatz wurde erfolgreich geändert"; | |||
$modus_aendern = false; | |||
header('Location: fragen.php'); | |||
} | |||
?> | |||
<?php | |||
//Einsatz von execute() mit array und Fragezeichen als Platzhalter | |||
$upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?' | |||
$upd_schwierigkeit = 1; | |||
$upd_frageart = 1; | |||
$upd_lernwoche = 3; | |||
$upd_id = 2; | |||
$update = $conn->prepare("UPDATE fragen SET fr_fragetext =?, fr_sc_id =?, fr_fa_id =?, fr_lw_id =? WHERE fr_id =? LIMIT 1"); | |||
if ($update->execute(array($upd_fragetext, $upd_schwierigkeit, $upd_frageart, $upd_lernwoche, $upd_id)) | |||
{ | |||
echo "Datensatz wurde erfolgreich geändert"; | |||
$modus_aendern = false; | |||
header('Location: fragen.php'); | |||
} | |||
?> | |||
==isset()== | |||
===Beschreibung=== | |||
*Prüft, ob eine Variable existiert und ob sie nicht NULL ist | |||
===Beispiel=== | |||
<?php | |||
//Prüft, pb durch POST ein Wert außer NULL angekommen ist. | |||
$upd_id = ""; | |||
if (isset($_POST['id'])) | |||
{ | |||
$upd_id = ($_POST['id']); //Ansonsten, bleibt "upd_id" leer | |||
} | |||
... | |||
?> | |||
===Anmerkung=== | |||
*NULL ist nicht gleichzusetzen mit dem Null-Zeichen | |||
==Quellen== | |||
# https://www.php.net/manual/de/pdostatement.bindparam.php | |||
# https://www.php.net/manual/de/pdostatement.execute.php | |||
# https://www.php.net/manual/de/pdo.construct.php | |||
# https://www.php.net/manual/de/function.isset | |||
[[Kategorie:TestTool]] |
Aktuelle Version vom 29. März 2023, 13:17 Uhr
Dies ist eine alphabetische Auflistung der verwendeten PHP-Funktionen.
bindParam()
Beschreibung
- PDO-Statement: Verbindet einen Parameter zu einer spezifischen Variable('Identifier') in einer Prepared SQL-Abfrage
- Die Variable kann einen spezifischen Namen oder ein Fragezeichen sein
Beispiele
<?php //Einsatz von bindParam() mit benannten "Identifier" $upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?' $upd_schwierigkeit = 1; $upd_frageart = 1; $upd_lernwoche = 3; $upd_id = 2; $update = $conn->prepare("UPDATE fragen SET fr_fragetext =:fragtext, fr_sc_id =:level, fr_fa_id =:fragart, fr_lw_id =:lernwoche WHERE fr_id =:id LIMIT 1"); $update->bindParam(':fragtext', $upd_fragetext); $update->bindParam(':level', $upd_schwierigkeit); $update->bindParam(':fragart', $upd_frageart); $update->bindParam(':lernwoche', $upd_lernwoche); $update->bindParam(':id', $upd_id); if ($update->execute()) { echo "Datensatz wurde erfolgreich geändert"; $modus_aendern = false; header('Location: fragen.php'); } ?>
<?php //Einsatz von bindParam() mit Fragezeichen als Platzhalter $upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?' $upd_schwierigkeit = 1; $upd_frageart = 1; $upd_lernwoche = 3; $upd_id = 2; $update = $conn->prepare("UPDATE fragen SET fr_fragetext =?, fr_sc_id =?, fr_fa_id =?, fr_lw_id =? WHERE fr_id =? LIMIT 1"); $update->bindParam(1, $upd_fragetext); $update->bindParam(2, $upd_schwierigkeit); $update->bindParam(3, $upd_frageart); $update->bindParam(4, $upd_lernwoche); $update->bindParam(5, $upd_id); if ($update->execute()) { echo "Datensatz wurde erfolgreich geändert"; $modus_aendern = false; header('Location: fragen.php'); } ?>
Anmerkungen
- Beim Benutzen von Fragezeichen beginnt der Identifier mit einer 1
- Bei mehreren Fragezeichen muss mehrmals bindParam() ausgeführt werden
- Alternativ siehe execute()
__construct()
Beschreibung
- PDO-Konstrukt, um PHP mit einer Datenbank zu verbinden
Beispiel
<?php /* Verbinden mit einer mySQL-Datenbank */ $dsn = 'mysql:dbname=testdb;host=127.0.0.1'; $user = 'dbuser'; $password = 'dbpass'; $dbh = new PDO($dsn, $user, $password); ?>
Anmerkungen
- Alternativ:
$dbh = new PDO(mysql:dbname=testdb;host=127.0.0.1, dbuser, dbpass)
- Einsatz von Variablen ist viel praktischer
execute()
Beschreibung
- PDO-Statement:Führt ein Prepared Statement aus
- Kann auch ein Array mit Eingabewerten(Parametern) enthalten
Beispiel
<?php //Einsatz von bindParam() und execute() mit Fragezeichen als Platzhalter $upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?' $upd_schwierigkeit = 1; $upd_frageart = 1; $upd_lernwoche = 3; $upd_id = 2; $update = $conn->prepare("UPDATE fragen SET fr_fragetext =?, fr_sc_id =?, fr_fa_id =?, fr_lw_id =? WHERE fr_id =? LIMIT 1"); $update->bindParam(1, $upd_fragetext); $update->bindParam(2, $upd_schwierigkeit); $update->bindParam(3, $upd_frageart); $update->bindParam(4, $upd_lernwoche); $update->bindParam(5, $upd_id); if ($update->execute()) { echo "Datensatz wurde erfolgreich geändert"; $modus_aendern = false; header('Location: fragen.php'); } ?> <?php //Einsatz von execute() mit array und Fragezeichen als Platzhalter $upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?' $upd_schwierigkeit = 1; $upd_frageart = 1; $upd_lernwoche = 3; $upd_id = 2; $update = $conn->prepare("UPDATE fragen SET fr_fragetext =?, fr_sc_id =?, fr_fa_id =?, fr_lw_id =? WHERE fr_id =? LIMIT 1"); if ($update->execute(array($upd_fragetext, $upd_schwierigkeit, $upd_frageart, $upd_lernwoche, $upd_id)) { echo "Datensatz wurde erfolgreich geändert"; $modus_aendern = false; header('Location: fragen.php'); } ?>
isset()
Beschreibung
- Prüft, ob eine Variable existiert und ob sie nicht NULL ist
Beispiel
<?php
//Prüft, pb durch POST ein Wert außer NULL angekommen ist. $upd_id = ""; if (isset($_POST['id'])) { $upd_id = ($_POST['id']); //Ansonsten, bleibt "upd_id" leer } ...
?>
Anmerkung
- NULL ist nicht gleichzusetzen mit dem Null-Zeichen