ingres_unbuffered_query

(No version information available, might only be in Git)

ingres_unbuffered_querySendet eine ungepufferte SQL-Abfrage an Ingres

Beschreibung

ingres_unbuffered_query ( resource $link , string $query , array $params = ? , string $types = ? ) : mixed

ingres_unbuffered_query() sendet die angegebene query an den Ingres-Server.

Die Abfrage wird zu einem Teil der aktuell offenen Transaktion. Falls keine Transaktion geöffnet ist, öffnet ingres_unbuffered_query() eine neue Transaktion. Um diese Transaktion zu schließen, kann entweder ingres_commit() aufgerufen werden, um die gemachten Änderungen in die Datenbank zu übertragen, oder ingres_rollback(), um diese Änderungen zu verwerfen. Wenn das Skript endet, werden alle offenen Transaktionen zurückgesetzt (indem die Funktion ingres_rollback() aufgerufen wird). Vor dem Öffnen einer neuen Transaktion kann auch ingres_autocommit() aufgerufen werden, sodass alle Änderungen sofort nach der Ausführung einer SQL-Abfrage übertragen werden. Ingres erlaubt zum selben Zeitpunkt nur eine einzige aktive ungepufferte Abfrage. Jede andere aktive ungepufferte Abfrage wird geschlossen, bevor noch eine SQL-Abfrage gesendet werden kann. Außerdem kann der Datensatzzeiger vor dem Auslesen nicht mit ingres_result_seek() positioniert werden.

Hinweis: Verwandte Konfigurationen

Siehe auch die Direktiven ingres.describe und ingres.utf8 der Laufzeit-Konfiguration.

Parameter-Liste

link

Die Verbindungskennung.

query

Eine gültige SQL-Abfrage (siehe im SQL reference guide der Ingres-Dokumentation). Bei der Funktion ingres_query() finden Sie beim Parameter query eine Liste der SQL-Kommandos, die nicht mit ingres_unbuffered_query() ausgeführt werden können.

Die Daten in der Abfrage sollten ordnungsgemäß maskiert werden.

params

Ein Array mit den Parameterwerten für die Abfrage.

types

Ein String, der eine Folge von Datentypen für die übergebenen Parameterwerte enthält. Eine Liste der Typ-Codes finden Sie bei der Funktion ingres_query(). Bei der Funktion ingres_query() finden Sie beim Parameter types eine Liste der Typ-Codes.

Rückgabewerte

ingres_unbuffered_query() gibt eine Ergebniskennung zurück, sofern Zeilen gelesen werden können, anderenfalls wird false zurückgegeben. Das ist beispielsweise bei einem INSERT-, UPDATE- oder DELETE-Kommando der Fall. Um festzustellen, ob es einen Fehler gab, sind die Funktionen ingres_errno(), ingres_error() oder ingres_errsqlstate() zu verwenden.

Beispiele

Beispiel #1 Ein einfaches ungepuffertes SELECT-Kommando senden

<?php
$link 
ingres_connect("demodb");

$result ingres_unbuffered_query($link"select * from user_profile");
while (
$row ingres_fetch_row($result)) {
    echo 
$row[1];
    echo 
$row[2];
}
?>

Beispiel #2 Abfrageparameter an ingres_unbuffered_query() übergeben

<?php
$link 
ingres_connect("demodb");

$params[] = "Emma";
$query "select * from user_profile where up_first = ?";
$result ingres_unbuffered_query($link$query$params);
while (
$row ingres_fetch_row($result)) {
    echo 
$row[1];
    echo 
$row[2];
}
?>

Beispiel #3 Ein BLOB mit Parameter-Typen einfügen

<?php
$link 
ingres_connect("demodb");

// Eine Bilddatei öffnen
$fh fopen("photo.jpg","r");
$blob_data stream_get_contents($fh);
fclose($fh);

// Parameter vorbereiten
$params[] = $blob_data;
$params[] = 1201;

// Parameter-Typen definieren
$param_types "Bi";

$query "update user_profile set up_image = ? where up_id = ?";
$result ingres_unbuffered_query($link$query $params$param_types);

if (
ingres_errno())
{
    echo 
ingres_errno() . "-" ingres_error() . "\n";
}
?>

Siehe auch

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top