(PHP 4 >= 4.0.6, PHP 5 <= 5.0.5, PECL dbx >= 1.1.0)
dbx_query — Sendet eine Abfrage und holt alle Ergebnisse (falls vorhanden)
dbx_query() gibt bei Erfolg ein Objekt oder 1 zurück, oder 0 im Fehlerfall. Das Objekt wird nur zurückgegeben, wenn die in sql_statement angegebene Abfrage eine Ergebnisliste liefert.
Beispiel #1 Wie mit dem gelieferten Wert umgegangen wird
<?php
$link = dbx_connect(DBX_ODBC, "", "db", "username", "password")
or die("Fehler beim Verbinden");
$result = dbx_query($link, 'SELECT id, parentid, description FROM table');
if ( is_object($result) ) {
// ... tue hier irgendetwas, detaillierte Beispiele siehe unten ...
// erst die Ausgabe der Feldnamen und Typen
// dann die Ausgabe einer Tabelle mit den gelieferten Werten
}
else if ( $result == 1 ) {
echo("Abfrage wurde erfolgreich ausgeführt, jedoch keine Ergebnisse");
}
else {
exit("Fehler bei Abfrage");
}
dbx_close($link);
?>
Der Parameter flags wird verwendet, um die Menge der zu liefernden Informationen zu steuern. Die folgenden Konstanten können mit dem Bit-Operator (|) beliebig kombiniert werden. Die Flags DBX_COLNAMES_* heben die Einstellungen dbx.colnames_case in der php.ini auf.
Beachten Sie, dass DBX_RESULT_INDEX unabhängig von dem aktuell verwendeten Wert des Parameters flags immer verwendet wird. Das heißt, dass es effektiv nur die folgenden Kombinationen gibt:
Das zurückgegebene Objekt hat abhängig von flags vier oder fünf Eigenschaften:
Das ein gültiges Handle für die verbundene Datenbank, und als solche kann es (wenn nötig) auch in modulspezifischen Funktionen verwendet werden.
$result = dbx_query ($link, "SELECT id FROM table"); mysql_field_len ($result->handle, 0);
Diese enthalten die Anzahl der Spalten (oder Felder) bzw. Reihen (oder Datensätze).
$result = dbx_query ($link, 'SELECT id FROM table');
echo $result->rows; // Anzahl der Datensätze
echo $result->cols; // Anzahl der Felder
Beispiel #2 Auflistung von Name und Typ jedes Feldes
$result = dbx_query ($link, 'SELECT id FROM table',
DBX_RESULT_INDEX | DBX_RESULT_INFO);
for ($i = 0; $i < $result->cols; $i++ ) {
echo $result->info['name'][$i] . "\n";
echo $result->info['type'][$i] . "\n";
}
Beispiel #3 Ausgabe des Inhaltes der data Eigenschaft in eine HTML Tabelle
$result = dbx_query ($link, 'SELECT id, parentid, description FROM table');
echo "<table>\n";
foreach ( $result->data as $row ) {
echo "<tr>\n";
foreach ( $row as $field ) {
echo "<td>$field</td>";
}
echo "</tr>\n";
}
echo "</table>\n";
Hinweis: Konsultieren Sie bitte auch die modulspezifische Dokumentation.
Spaltennamen für Abfragen an einer Oracle Datenbank werden in Kleinbuchstaben zurückgegeben.
Siehe auch dbx_escape_string() und dbx_connect().