(PHP 4 >= 4.0.6, PHP 5)
fbsql_query — Sendet eine FrontBase-Abfrage
fbsql_query() sendet eine Abfrage an die momentan active Datenbank auf dem Server, der mit der Verbindungskennung spezifiziert ist. Wenn die Verbindungskennung nicht angegeben ist, wird die zuletzt geöffnete Verbindung verwendet. Wenn keine Verbindung offen ist, wird versucht eine Verbindung aufzubauen. Dies geschieht in der gleichen Weise, als ob fbsql_connect() was ohne Argumente aufgerufen wird.
Hinweis:
Der Abfrage-String soll immer mit einem Semikolon enden.
fbsql_query() liefert zur Überprüfung des Erfolgs der Abfrage TRUE (Nicht NULL) oder FALSE zurück. Ein TRUE-Rückgabewert bestätigt, dass die Abfrage gültig war und vom Server ausgeführt werden konnte. Über den Rückgabewert können nicht die betroffenen oder selektierten Datensätze ermittelt werden. Es ist sogar möglich, dass die Abfrage erfolgreich war, aber keine Datensätze betroffen oder selektiert werden.
Die folgende Abfrage ist syntaktisch falsch, so dass fbsql_query() fehlschlägt und FALSE zurückliefert:
Beispiel #1 fbsql_query() Beispiel
<?php
$result = fbsql_query ("SELECT * WHERE 1=1")
or die ("Abfrage gescheitert");
?>
Die folgende Abfrage ist sematisch falsch, wenn my_col keine Spalte in der Tabelle my_tbl ist. Deshalb schlägt fbsql_query() fehl und liefert FALSE zurück:
Beispiel #2 fbsql_query() example
<?php
$result = fbsql_query ("SELECT my_col FROM my_tbl")
or die ("Abfrage gescheitert");
?>
fbsql_query() schlägt ebenso fehl und liefert FALSE, wenn Sie keine Berechtigung zum Zugriff auf die verwiesene(n) Tabelle(n) haben.
Wenn die Abfrage ist erfolgreich ist, können Sie fbsql_num_rows() aufrufen, um herauszufinden wie viele Datensätze von einer SELECT-Abfrage zurückgeliefert wurde. Falls Sie eine DELETE-, INSERT-, REPLACE- oder UPDATE-Abfrage verwendet haben, können Sie fbsql_affected_rows() verwendet, um die betroffenen Datensätze herauszufinden.
Nur bei SELECT-Abfragen wird fbsql_query() eine neue Ergebniskennung zurück, die Sie an fbsql_result() übergeben können. Wenn die Bearbeitung des Ergebnisses abgeschlossen ist, können Sie die belegten Resourcen durch den Aufruf von fbsql_free_result() freigeben. Bei Scriptende wird der belegte Speicher automatisch freigegeben.
Siehe auch: fbsql_affected_rows(), fbsql_db_query(), fbsql_free_result(), fbsql_result(), fbsql_select_db() und fbsql_connect().