|
|
PHP (angielski akronim rekurencyjny, którego rozwinięcie to PHP Hypertext Preprocessor), pierwotnie nazwany Personal
Home Page - skryptowy język programowania, służący przede wszystkim do tworzenia dynamicznych stron WWW i wykonywany w
tym przypadku po stronie serwera, z możliwością zagnieżdżania w HTML (bądź XHTML). PHP jest podobny w założeniach do
dużo starszego mechanizmu SSI (Server Side Includes), jednak jest w stosunku do SSI nieporównanie bardziej rozbudowany.
Udostępniany jest na zasadach licencji open-source. Jego składnia bazuje na językach C, Java i Perl.
SQL (ang. Structured Query Language) to strukturalny język zapytań używany do tworzenia, modyfikowania baz danych oraz
do umieszczania i pobierania danych z baz danych.
Język SQL jest językiem deklaratywnym. Decyzję o sposobie przechowywania i pobrania danych pozostawia się systemowi
zarządzania bazą danych DBMS.
Jest to język programowania opracowany w latach siedemdziesiątych w firmie IBM. Stał się on standardem w komunikacji z
serwerami relacyjnych baz danych. Wiele współczesnych systemów relacyjnych baz danych używa do komunikacji z
użytkownikiem SQL, dlatego mówi się, że korzystanie z relacyjnych baz danych, to korzystanie z SQL-a.
Apache jest otwartym serwerem HTTP dostępnym dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD,
Microsoft Windows). Po angielsku słowo Apache wymawia się epaczi, co brzmi tak samo jak a patchy (server), co było
określeniem tego serwera we wczesnym stadium jego rozwoju w 1995 roku, kiedy był on głównie zbiorem poprawek (patch)
nałożonych na serwer HTTP o nazwie NCSA.
Apache jest najszerzej stosowanym serwerem HTTP w Internecie. W maju 2003 jego udział wśród serwerów wynosił 62%. W
połączeniu z interpreterem języka skryptowego PHP i bazą danych MySQL, Apache stanowi jedno z najczęściej spotykanych
środowisk w firmach oferujących miejsce na serwerach sieciowych.
|
ifx_query
(PHP 3 >= 3.0.3, PHP 4, PHP 5) ifx_query -- Send
Informix query
Descriptionresource ifx_query ( string query, resource
link_identifier [, int cursor_type [, mixed blobidarray]]
)
Returns valid Informix result identifier on success, or
FALSE on error.
A "result_id" resource used by other functions to retrieve
the query results. Sets "affected_rows" for retrieval by the
ifx_affected_rows() function.
ifx_query() sends a query to the
currently active database on the server that's associated with
the specified link identifier.
Executes query on connection
conn_id. For "select-type" queries
a cursor is declared and opened. The optional cursor_type parameter allows you to make this
a "scroll" and/or "hold" cursor. It's a bitmask and can be
either IFX_SCROLL, IFX_HOLD, or both or'ed together. Non-select
queries are "execute immediate". IFX_SCROLL and IFX_HOLD are
symbolic constants and as such shouldn't be between quotes. I
you omit this parameter the cursor is a normal sequential
cursor.
For either query type the number of (estimated or real)
affected rows is saved for retrieval by ifx_affected_rows().
If you have BLOB (BYTE or TEXT) columns in an update query,
you can add a blobidarray
parameter containing the corresponding "blob ids", and you
should replace those columns with a "?" in the query text.
If the contents of the TEXT (or BYTE) column allow it, you
can also use "ifx_textasvarchar(1)" and "ifx_byteasvarchar(1)".
This allows you to treat TEXT (or BYTE) columns just as if they
were ordinary (but long) VARCHAR columns for select queries,
and you don't need to bother with blob id's.
With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the
default situation), select queries will return BLOB columns as
blob id's (integer value). You can get the value of the blob as
a string or file with the blob functions (see below).
Przykład 1. Show all rows of the "orders" table
as a HTML table
<?php
ifx_textasvarchar(1); // use "text mode" for blobs $res_id = ifx_query("select * from orders", $conn_id);
if (! $res_id) {
printf("Can't select orders : %s\n<br />%s<br />\n", ifx_error());
ifx_errormsg();
die;
} ifx_htmltbl_result($res_id, "border=\"1\"");
ifx_free_result($res_id); ?> |
|
Przykład 2. Insert some values into the "catalog"
table
<?php
// create blob id's for a byte and text column
$textid = ifx_create_blob(0, 0, "Text column in memory");
$byteid = ifx_create_blob(1, 0, "Byte column in memory");
// store blob id's in a blobid array
$blobidarray[] = $textid; $blobidarray[] = $byteid;
// launch query $query = "insert into catalog (stock_num, manu_code, " .
"cat_descr,cat_picture) values(1,'HRO',?,?)";
$res_id = ifx_query($query, $conn_id, $blobidarray);
if (! $res_id) {
/* ... error ... */ }
// free result id ifx_free_result($res_id);
?> |
|
See also ifx_connect().
|