TestTool/PHP-Funktionen: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Dirkwagner verschob die Seite TestTool:PHP-Funktionen nach TestTool/PHP-Funktionen, ohne dabei eine Weiterleitung anzulegen: Textersetzung - „:“ durch „/“
 
(14 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.


{|class="wikitable"
==bindParam()==
!Funktion !! Beschreibung !! Beispiele !! Anmerkungen
 
|-
===Beschreibung===
|bindParam()
*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
  /* Ausführen eines prepared-Statements mit Einbindung von PHP-Variablen */
  //Einsatz von bindParam() mit benannten "Identifier"
  $calories = 150;
$upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?'
  $colour = 'red';
$upd_schwierigkeit = 1;
  $sth = $dbh->prepare('SELECT name, colour, calories
$upd_frageart = 1;
    FROM fruit
  $upd_lernwoche = 3;
    WHERE calories < :calories AND colour = :colour');
  $upd_id = 2;
  $sth->bindParam(':calories', $calories);
  $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");
  $sth->bindParam(':colour', $red);
$update->bindParam(':fragtext', $upd_fragetext);
  $sth->execute();
$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
  /* Das selbe wie obiges Beispiel nur mit Fragezeichen */
  //Einsatz von bindParam() mit Fragezeichen als Platzhalter
  $calories = 150;
$upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?'
  $colour = 'red';
$upd_schwierigkeit = 1;
  $sth = $dbh->prepare('SELECT name, colour, calories
$upd_frageart = 1;
    FROM fruit
  $upd_lernwoche = 3;
    WHERE calories < ? AND colour = ?');
  $upd_id = 2;
  $sth->bindParam(1, $calories);
  $update = $conn->prepare("UPDATE fragen SET fr_fragetext =?, fr_sc_id =?, fr_fa_id =?, fr_lw_id =? WHERE fr_id =? LIMIT 1");
  $sth->bindParam(2, $colour);
  $update->bindParam(1, $upd_fragetext);
  $sth->execute();
  $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()''
*Alternativ siehe ''execute()''
|-
 
|__construct()
==__construct()==
|
===Beschreibung===
*PDO-Konstrukt, um PHP mit einer Datenbank zu verbinden
*PDO-Konstrukt, um PHP mit einer Datenbank zu verbinden
|
 
===Beispiel===
  <?php
  <?php
  /* Verbinden mit einer mySQL-Datenbank */
  /* Verbinden mit einer mySQL-Datenbank */
Zeile 50: Zeile 67:
  $dbh = new PDO($dsn, $user, $password);
  $dbh = new PDO($dsn, $user, $password);
  ?>
  ?>
|
===Anmerkungen===
*Alternativ: <code>$dbh = new PDO(mysql:dbname=testdb;host=127.0.0.1, dbuser, dbpass)
*Alternativ: <code>$dbh = new PDO(mysql:dbname=testdb;host=127.0.0.1, dbuser, dbpass)</code>
*Einsatz von Variablen ist viel praktischer
*Einsatz von Variablen ist viel praktischer
|-
 
|execute()
==execute()==
|
===Beschreibung===
*PDO-Statement:Führt ein Prepared Statement aus
*PDO-Statement:Führt ein Prepared Statement aus
*Kann auch ein Array mit Eingabewerten(Parametern) enthalten  
*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
  <?php
  /* Ausführen eines prepared-Statements mit Einbindung von PHP-Variablen */
  //Einsatz von execute() mit array und Fragezeichen als Platzhalter
  $calories = 150;
$upd_fragetext = 'Wer war maßgeblich beteiligt bei der Entwicklung von Linux?'
  $colour = 'red';
$upd_schwierigkeit = 1;
  $sth = $dbh->prepare('SELECT name, colour, calories
$upd_frageart = 1;
    FROM fruit
  $upd_lernwoche = 3;
    WHERE calories < :calories AND colour = :colour');
  $upd_id = 2;
  $sth->bindParam(':calories', $calories);
  $update = $conn->prepare("UPDATE fragen SET fr_fragetext =?, fr_sc_id =?, fr_fa_id =?, fr_lw_id =? WHERE fr_id =? LIMIT 1");
$sth->bindParam(':colour', $red);
  if ($update->execute(array($upd_fragetext, $upd_schwierigkeit, $upd_frageart, $upd_lernwoche, $upd_id))
  $sth->execute();
{
    echo "Datensatz wurde erfolgreich geändert";
    $modus_aendern = false;
    header('Location: fragen.php');
  }
  ?>
  ?>


<?php
==isset()==
/* prepared-Statement ausführen, indem ein Array an Eingabewerten übergeben wird */
 
$calories = 150;
===Beschreibung===
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>
|
|-
|isset()
|
*Prüft, ob eine Variable existiert und ob sie nicht NULL ist
*Prüft, ob eine Variable existiert und ob sie nicht NULL ist
|
===Beispiel===
  <?php
  <?php


  $var = '';
//Prüft, pb durch POST ein Wert außer NULL angekommen ist.
 
  $upd_id = "";
// Dieser Ausdruck wird zu TRUE ausgewertet, also wird der Text angezeigt
  if (isset($_POST['id']))
  if (isset($var)) {
{
    echo "Die Variable ist gesetzt, also wird etwas ausgegeben.";
    $upd_id = ($_POST['id']);  //Ansonsten, bleibt "upd_id" leer
  }
  }
...


  $var = NULL;
  ?>
// Dieser Ausdruck wird zu FALSE ausgewertet, also wird der Text NICHT angezeigt
===Anmerkung===
if (isset($var)) {
    echo "Die Variable ist gesetzt, also wird etwas ausgegeben.";
}
|
*NULL ist nicht gleichzusetzen mit dem Null-Zeichen
*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

Quellen

  1. https://www.php.net/manual/de/pdostatement.bindparam.php
  2. https://www.php.net/manual/de/pdostatement.execute.php
  3. https://www.php.net/manual/de/pdo.construct.php
  4. https://www.php.net/manual/de/function.isset