TestTool/PHP-Funktionen

Aus Foxwiki

Dies ist eine alphabetische Auflistung der verwendeten PHP-Funktionen.

Funktion Beschreibung Beispiele Anmerkungen
bindParam()
  • PDO-Statement: Verbindet einen Parameter zu einer spezifischen Variable in einer Prepared SQL-Abfrage
  • Die Variable kann einen spezifischen Namen oder ein Fragezeichen sein
<?php
/* Ausführen eines prepared-Statements mit Einbindung von PHP-Variablen */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories);
$sth->bindParam(':colour', $red);
$sth->execute();
?>
<?php
/* Das selbe wie obiges Beispiel nur mit Fragezeichen */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories);
$sth->bindParam(2, $colour);
$sth->execute();
?>
  • Beim Benutzen von Fragezeichen beginnt der Identifier mit einer 1
  • Bei mehreren Fragezeichen muss mehrmals bindParam() ausgeführt werden
  • Alternativ siehe execute()
__construct()
  • PDO-Konstrukt, um PHP mit einer Datenbank zu verbinden
<?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);
?>
  • Alternativ: $dbh = new PDO(mysql:dbname=testdb;host=127.0.0.1, dbuser, dbpass)
  • Einsatz von Variablen ist viel praktischer
execute()
  • PDO-Statement:Führt ein Prepared Statement aus
  • Kann auch ein Array mit Eingabewerten(Parametern) enthalten
<?php
/* Ausführen eines prepared-Statements mit Einbindung von PHP-Variablen */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories);
$sth->bindParam(':colour', $red);
$sth->execute();
?>
<?php
/* prepared-Statement ausführen, indem ein Array an Eingabewerten übergeben wird */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
?>