PHP Portal » PHP Handbuch » ingres_unbuffered_query

Werbung

ingres_unbuffered_query


()

ingres_unbuffered_querySendet eine SQL-Abfrage an Ingres, ohne die Ergebniszeilen zu puffern

Beschreibung

mixed ingres_unbuffered_query ( resource $link , string $query [, array $params [, string $types ]] )

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

Die Abfrage wird Teil der aktuell geöffneten Transaktion. Falls es aktuell keine offene Transaktion gibt, wird mit ingres_unbuffered_query() eine geöffnet. Geschlossen wird sie entweder mit ingres_commit(), wobei die gemachten Änderungen in die Datenbank geschrieben werden, oder mit ingres_rollback(), wobei die Änderungen verworfen werden. Wenn das Skript zuende ist, wird jede geöffnete Transaktion zurückgesetzt (indem die ingres_rollback() aufgerufen wird). Sie können vor dem Öffnen einer neuen Transaktion ingres_autocommit() ausführen, danach werden alle Änderungen sofort nach der Ausführung einer SQL-Abfrage committet. 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 bei dem Parameter query eine Liste der SQL-Kommandos, die nicht mit ingres_unbuffered_query() ausgeführt werden können.

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 bei dem 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, benutzt man die Funktionen ingres_errno(), ingres_error() oder ingres_errsqlstate().

Beispiele

PHP Code
1
2
3
4
5
6
$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]; }

PHP Code
1
2
3
4
5
6
7
8
$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]; }

PHP Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$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