LXIII. MySQL Funkce

Tyto funkce zprostředkovávají přístup na MySQL databázový server . Více informací o MySQL lze nalézt na http : / /www.mysql.com / .

Dokumentace k MySQL je dostupná na http : / /www.mysql.com / documentation / .

Požadavky

Aby byly tyto funkce dostupné , musí být PHP zkompilováno s podporou MySQL .

Instalace

Tyto funkce zprostředkovávají přístup na MySQL databázový server . Mají-li být tyto funkce dostupné , musí být PHP zkompilováno s podporou MySQL parametrem --with-mysql . Pokud použijete tento parametr bez zadané cesty k MySQL , PHP použije vestavěné MySQL klient knihovny . Uživatelé , kteří spouští další aplikace používající MySQL ( např. : spuštěné PHP3 a PHP4 jako vzájemné moduly v apache či auth-mysql ) by měli vždy zadat cestu k MySQL : --with-mysql= / cesta / k/mysql . PHP tak použije klientské knihovny instalované MySQL , čímž se vyvarujete možných konfliktům .

Runtime konfigurace

Chování funkcí MySQL je ovlivněno nastavením v globálním konfiguračním souboru php.ini .

Tabulka 1 . Možnosti nastavení MySQL

Jméno Výchozí Změnitelné
Podrobný popis a definice konstant PHP_INI_* naleznete v ini_set() .

Zde je krátké vysvětlení konfiguračních příkazů .

mysql.allow_persistent boolean

Má-li být povoleno persistentní ( trvalá ) spojení s MySQL .

mysql.max_persistent integer

Maximální počet persistentních spojení na jeden proces .

mysql.max_links integer

Maximální počet spojení s MySQL na jeden proces včetně persistentních spojení .

mysql.default_port string

Číslo výchozího TCP portu pro spojení s databázovým serverem , pokud není port zadán . Není-li výchozí port zadán , použije se port uvedený v proměnné prostředí MYSQL_TCP_PORT . , záznam mysql-tcp v / etc / services nebo " compile-time " konstanta MYSQL_PORT , v tomto pořadí . Win32 používá pouze konstantu MYSQL_PORT .

mysql.default_socket string

Výchozí jméno socketu pro připojení k lokálnímu databázovému serveru , není-li jiný socket specifikován .

mysql.default_host string

Výchozí server pro spojení s databázovým serverem , není-li uveden jiný . Nelze použít při bezpečném režimu ( safe mode ) .

mysql.default_user string

Výchozí uživatel pro spojení s databázovým serverem , není-li uveden jiný uživatel . Nelze použít při bezpečném režimu ( safe mode ) .

mysql.default_password string

Výchozí heslo pro spojení s databázovým serverem , není-li uveeno jiné heslo . Nelze použít při bezpečném režimu ( safe mode ) .



Typy zdrojů

V modulu MySQL jsou použity dva typy zdrojů . První zdroj je identifikátor databázového spojení a druhý , který vykonává výsledek dotazu .

Předdefinované konstanty

Funkce mysql_fetch_array( ) používá konstanty pro různé typy výsledkových polí . Jsou definovány následující konstanty :

Tabulka 2 . MySQL fetch konstanty

konstanta popis
Sloupce jsou vraceny do pole jehož klíčemi jsou názvy sloupců .
Sloupce jsou vráceny do pole majícího číslené i textové klíče , určující pořadí sloupce v tabulce , respektive jeho jméno .
Vrací sloupec do pole s číselnými klíči reprezentujícími pořadí sloupce v tabulce . První sloupec tabulky začíná klíčem 0 .
MYSQL_STORE_RESULT Určuje , zda by měl být výsledek MySQL bufferován .
MYSQL_USE_RESULT Určuje , zda by výsledek MySQL neměl být bufferován .


Examples

Zde je jednoduchý ukázkový příklad jak se připojit , provést dotaz , zobrazit výsledné řádky a odpojit se z MySQL databáze .

Příklad 1 . Ukázkový příklad použití MySQL

 
?php

 
/

 
/

 
Připojení

 
,

 
výběr

 
databáze

 
$link

 
=

 
mysql_connect(

 
"mysql_host"

 
,

 
"mysql_login"

 
,

 
"mysql_heslo"

 
)

 
or

 
die("Nelze

 
se

 
připojit")

 
;

 
print

 
"Připojeno

 
úspěšně

 
!"

 
;

 
mysql_select_db("moje_databaze"

 
)

 
or

 
die("Nelze

 
vybrat

 
databázi")

 
;

 
/

 
/

 
Příprava

 
SQL

 
dotazu

 
$query

 
=

 
"SELECT

 
*

 
FROM

 
moje_tabulka"

 
;

 
$result

 
=

 
mysql_query($query

 
)

 
or

 
die("Dotaz

 
nelze

 
provést")

 
;

 
/

 
/

 
Zobrazení

 
výsledku

 
v

 
HTML

 
print

 
"

 
table

 
\n"

 
;

 
while

 
($line

 
=

 
mysql_fetch_array($result

 
,

 
MYSQL_ASSOC)

 
)

 
{

 
print

 
"\t

 
tr

 
\n"

 
;

 
foreach

 
($line

 
as

 
$col_value

 
)

 
{

 
print

 
"\t\t

 
td

 
$col_value

 
/

 
td

 
\n"

 
;

 
    }

 
print

 
"\t

 
/

 
tr

 
\n"

 
;

 
}

 
print

 
"

 
/

 
table

 
\n"

 
;

 
/

 
/

 
Odpojení

 
z

 
MySQL

 
databáze

 
mysql_close($link)

 
;

 
?





Obsah
mysql_affected_rows -- Vrátí počet ovlivněných (změněných) záznamů v MySQL po posledním dotazu
mysql_change_user -- Změní přihlášeného uživatele v současném spojení
mysql_client_encoding -- Returns the name of the character set
mysql_close -- Ukončí (zavře) MySQL spojení
mysql_connect -- Vytvoří spojení s MySQL Serverem
mysql_create_db -- Vytvoří MySQL databázi
mysql_data_seek -- Přesune ukazatel na aktuální záznam
mysql_db_name -- Vrátí seznam všech databází
mysql_db_query -- Provede MySQL dotaz
mysql_drop_db -- Vymaže (odstraní) MySQL databázi
mysql_errno -- Vrátí číslenou hodnotu chybové hlášky předchozího MySQL příkazu.
mysql_error -- Vrátí text chybové zprávy předchozího MySQL příkazu.
mysql_escape_string -- Upraví řetězec pro bezpečné použití v mysql_query.
mysql_fetch_array -- Načte výsledný řádek do asociativního, čísleného pole nebo obojího.
mysql_fetch_assoc -- Načte výsledný řádek do asociativního pole
mysql_fetch_field -- Načte informace o sloupci z výsledku do proměnné objektu
mysql_fetch_lengths -- Zjistí délku všech položek aktuálního výstupu
mysql_fetch_object -- Načte výsledný záznam do proměnné objektu
mysql_fetch_row -- Načte výsledný záznam do pole
mysql_field_flags -- Načte příznaky sloupce tabulky
mysql_field_len -- Vrací délku sloupce tabulky
mysql_field_name -- Načte název sloupce tabulky
mysql_field_seek -- Nastaví ukazatel na zadaný sloupec
mysql_field_table -- Zjistí jméno tabulky, v níž se nachází uvedený sloupec
mysql_field_type -- Zjistí typ sloupce
mysql_free_result -- Uvolní výsledek z paměti
mysql_get_client_info -- Načte verzi klientské knihovny MySQL
mysql_get_host_info -- Načte informaci o hostu
mysql_get_proto_info -- Načte informaci o protokolu MySQL
mysql_get_server_info -- Načte informace o serveru MySQL
mysql_info -- Vrací informace o posledním dotazu
mysql_insert_id -- Vrací generovanou hodnotu id posledního příkazu INSERT
mysql_list_dbs -- Načte všechny dostupné databáze na MySQL serveru
mysql_list_fields -- Načte výsledek s obsahem sloupce
mysql_list_processes -- List MySQL processes
mysql_list_tables -- Načte všechny tabulky v MySQL databázi
mysql_num_fields -- Vrací počet sloupců ve výsledku
mysql_num_rows -- Vrací počet záznamů ve výsledku
mysql_pconnect -- Otevře persistentní spojení s MySQL serverem
mysql_ping -- Ověří spojení se serverem, případně, není-li spojení dostupné, pokusí se připojit znovu.
mysql_query -- Pošle MySQL dotaz
mysql_real_escape_string -- Upraví řetězec pro bezpečné použití v mysql_query.
mysql_result -- Načte obsah jednoho sloupce tabulky
mysql_select_db -- Nastaví MySQL databázi
mysql_stat -- Vrací aktuální stav systému
mysql_tablename -- Načte jméno tabulky
mysql_thread_id -- Vrátí id aktuálního vlákna
mysql_unbuffered_query -- Pošle SQL dotaz bez načtení a bufferování výsledných záznamů