Opis funkcji pochodzi z podręcznika PHP autorstwa : Stig Sćther Bakken, Alexander Aulbach, Egon Schmid, Jim Winstead, Lars Torben Wilson, Rasmus Lerdorf, Zeev Surask pod redakcją Stig Sćther Bakken .
Funkcje te umożliwiają dostęp do serwerów baz danych MySQL
Więcej informacji o MySQL można znaleźć na http://www.mysql.com (polski mirror to http://sunsite.icm.edu.pl/mysql).
mysql_affected_rows — Zwraca ilość wierszy przetworzonych w poprzedniej operacji MySQL
Opis
int mysql_affected_rows(int [id_polaczenia] );
mysql_affected_rows zwraca ilość wierszy przetworzonych w ostatniej operacji INSERT, UPDATE lub DELETE na serwerze skojarzonym z podanym identyfikatorem połączenia. Jeżeli identyfikator połączenia nie został podany, domyślnie wykorzystywane jest ostatnie połączenie.
Jeżeli ostatnim zapytaniem było DELETE bez użycia WHERE, wszystkie rekordy zostały usunięte z tabeli, ale ta funkcja zwróci zero.
Ta komenda nie ma zastosowania do operacji SELECT, lecz tylko do operacji, które modyfikują rekordy. Aby uzyskać liczbę wierszy zwróconych przez SELECT, użyj funkcji mysql_num_rows.
mysql_change_user — Zmienia użytkownika zalogowanego w aktywnym połączeniu
Opis
int mysql_change_user(string user, string password, string [database] , int [id_polaczenia] );
mysql_change_user zmienia użytkownika zalogowanego w aktywnym połączeniu lub w połączeniu, którego identyfikator podano. Jeżeli podano nazwę bazy, zostanie ona ustawiona, w przeciwnym przypadku zostanie ustawiona bieżąca. Jeżeli nowa kombinacja użytkownik/hasło będzie nieprawidłowa, bieżący użytkownik pozostanie aktywny.
Notatka: Funkcję tę wprowadzono w PHP 3.0.13 i wymaga ona MySQL w wersji 3.23.3 lub późniejszej.
mysql_close — Zamyka połączenie z serwerem MySQL
Opis
int mysql_close(int [id_polaczenia] );
Zwraca: prawda jeżeli sukces, fałsz jeżeli błąd.
mysql_close zamyka połączenie z serwerem MySQL skojarzone z podanym identyfikatorem połączenia. Jeżli identyfikator połączenia nie został podany, domyślnie wykorzystywane jest ostatnie połączenie.
Notatka: Zwykle nie jest potrzebne używanie tej funkcji, jako że połączenia niepodtrzymywane są automatycznie zamykane po zakończeniu wykonywania skryptu.
mysql_close nie zamyka połączeń podtrzymywanych nawiązanych za pomocą funkcji mysql_pconnect.
Przykład 1. Użycie mysql_close
<?php
$link = mysql_connect ("kraemer", "marliesle",
"secret") {
or die ("Could not
connect");
}
print ("Connected successfully");
mysql_close ($link);
?>
Patrz także: mysql_connect i mysql_pconnect.
mysql_connect — Otwiera połączenie z serwerem MySQL
Opis
int mysql_connect(string [hostname [:port] [:/sciezka/do/gniazda] ] , string [username] , string [password] );
Zwraca: Dodatni identyfikator połączenia jeżeli sukces lub komunikat błędu jeżeli niepowodzenie.
mysql_connect nawiązuje połączenie z serwerem MySQL. Wszystkie argumenty są opcjonalne i jeżeli ich nie ma brane są wartości domyślne ('localhost', nazwa użytkownika będącego właścicielem procesu serwera, puste hasło).
Argument hostname może również zawierać numer portu, np. "hostname:port" lub ścieżkę do gniaza np. ":/sciezka/do/gniazda" dla localhost'a.
Notatka: Obsługa ":port" została dodana w PHP 3.0B4.
Obsługa ":/sciezka/do/gniazda" została dodana w PHP 3.0.10.
Możesz pominąć wyświetlenie komunikatu błędu przy niepowodzeniu poprzedzając nazwę funkcji znakiem '@'.
Przy drugim wywołaniu mysql_connect z tymi samymi argumentami, nie będzie nawiązywane nowe połączenie, lecz zwrócony zostanie identyfikator już otwartego połączenia.
Połączenie z serwerem zostanie zamknięte zaraz po zakończeniu wykonywania skryptu, chyba że zostanie zamknięte wcześniej przez odpowiednie wywołanie mysql_close.
Przykład 1. Użycie mysql_connect
<?php
$link = mysql_connect ("kraemer", "marliesle",
"secret") {
or die ("Could not
connect");
}
print ("Connected successfully");
mysql_close ($link);
?>
Patrz także: mysql_pconnect i mysql_close.
mysql_create_db — Tworzy bazę MySQL
Opis
int mysql_create_db(string database name, int [id_polaczenia] );
mysql_create_db tworzy nową bazę na serwerze skojarzonym z podanym identyfikatorem połączenia.
Przykład 1. Użycie mysql_create_db
<?php
$link = mysql_pconnect ("kron", "jutta",
"geheim") {
or die ("Could not
connect");
}
if (mysql_create_db ("my_db")) {
print ("Database
created successfully
");
} else {
printf ("Error
creating database: %s
", mysql_error ());
}
?>
Dla zachowania zgodności w dół użyta może być również funkcja mysql_createdb
Patrz także: mysql_drop_db.
mysql_data_seek — Przesuwa wewnętrzny wskaźnik wyniku
Opis
int mysql_data_seek(int result_identifier, int row_number);
Zwraca: prawda jeżeli sukces, fałsz jeżeli błąd.
mysql_data_seek przesuwa wewnętrzny wskaźnik wiersza wyniku operacji MySQL skojarzony z podanym identyfikatorem wyniku na podany numer wiersza. Następne wywołanie mysql_fetch_row zwróci ten wiersz.
Row_number zaczyna się od 0.
Przykład 1. Użycie mysql_data_seek
<?php
$link = mysql_pconnect ("kron", "jutta",
"geheim") {
or die ("Could not
connect");
}
mysql_select_db ("samp_db") {
or die ("Could not
select database");
}
$query = "SELECT last_name, first_name FROM
friends";
$result = mysql_query ($query) {
or die ("Query failed");
}
# fetch rows in reverse order
for ($i = mysql_num_rows ($result) - 1; $i >=0;
$i--) {
if (!mysql_data_seek ($result,
$i)) {
printf ("Cannot seek to row %d
", $i);
continue;
}
if(!($row =
mysql_fetch_object ($result)))
continue;
printf ("%s %s<BR>
",
$row->last_name, $row->first_name);
}
mysql_free_result ($result);
?>
mysql_db_query — Wysyła zapytanie MySQL do bazy MySQL
Opis
int mysql_db_query(string database, string query, int [id_polaczenia] );
Zwraca: Dodatni identyfikator wyniku MySQL prowadzący do wyniku zapytania, lub fałsz jeżeli wystąpił błąd.
mysql_db_query wybiera bazę i wykonuje na niej zapytanie. Jeżeli opcjonalny identyfikator połączenia nie został podany, funkcja będzie próbować znaleźć otwarte połączenie z serwerem MySQL. Jeżeli to się nie powiedzie, będzie próbować je stworzyć tak, jakby wywołane zostało mysql_connect bez argumentów.
Patrz także: mysql_connect.
Dla zachowania zgodności w dół użyta może być również funkcja mysql.
mysql_drop_db — Usuwa bazę MySQL
Opis
int mysql_drop_db(string database_name, int [id_polaczenia] );
Zwraca: prawda jeżeli sukces, fałsz jeżeli niepowodzenie.
mysql_drop_db usuwa całą bazę z serwera skojarzonego z podanym identyfikatorem połączenia.
Patrz także: mysql_create_db. Dla zachowania zgodności w dół użyta może być również funkcja mysql_dropdb.
mysql_errno — Zwraca numer komunikatu błędu z ostatniej operacji MySQL.
Opis
int mysql_errno(int [id_polaczenia] );
Błędy pochodzące z klienta bazy MySQL już nie powodują wyświetlania ostrzeżeń. Zamiast tego, użyj tych funkcji by otrzymać numer błędu.
<?php
mysql_connect("marliesle");
echo mysql_errno().": ".mysql_error()."<BR>";
mysql_select_db("nonexistentdb");
echo mysql_errno().": ".mysql_error()."<BR>";
$conn = mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno().": ".mysql_error()."<BR>";
?>
Patrz także: mysql_error
mysql_error — Zwraca tekst komunikatu błędu z ostatniej operacji MySQL
Opis
string mysql_error(int [id_polaczenia] );
Błędy pochodzące z klienta bazy MySQL już nie powodują wyświetlania ostrzeżeń. Zamiast tego, użyj tych funkcji by otrzymać tekst błędu.
<?php
mysql_connect("marliesle");
echo mysql_errno().": ".mysql_error()."<BR>";
mysql_select_db("nonexistentdb");
echo mysql_errno().": ".mysql_error()."<BR>";
$conn = mysql_query("SELECT * FROM nonexistenttable");
echo mysql_errno().": ".mysql_error()."<BR>";
?>
Patrz także: mysql_errno
mysql_fetch_array — Zapisuje wiersz wyniku w tablicy przyporządkowującej
Opis
array mysql_fetch_array(int result, int [result_type] );
Zwraca tablicę zawierającą pobrany wiersz, lub fałsz jeżeli nie ma więcej wierszy.
mysql_fetch_array jest rozszerzoną wersją mysql_fetch_row. Oprócz zapisywania danych w indeksach numerycznych, zapisuje je też w indeksach przyporządkowujących (asocjacyjnych), używając nazw pól jako kluczy.
Jeżeli dwie lub więcej kolumn wyniku ma te same nazwy, ostatnia kolumna będzie brana pod uwagę. Dostęp do innych kolumn o tej samej nazwie jest możliwy jedynie przez indeksowanie numeryczne lub przez stworzenie aliasa.
select t1.f1 as foo t2.f1 as bar from t1, t2
Godne uwagi jest to, że użycie mysql_fetch_array NIE jest znacząco wolniejsze od użycia mysql_fetch_row, a dostarcza potrzebnej wartości.
Opcjonalny drugi argument result_type w funkcji mysql_fetch_array jest stałą i może przyjmować następujące wartości: MYSQL_ASSOC, MYSQL_NUM i MYSQL_BOTH. (funkcja ta została dodana w PHP 3.0.7)
Po dalsze szczegóły patrz także mysql_fetch_row.
Przykład 1. mysql fetch array
<?php
mysql_connect($host,$user,$password);
$result = mysql_db_query("database","select * from
table");
while($row = mysql_fetch_array($result)) {
echo $row["user_id"];
echo $row["fullname"];
}
mysql_free_result($result);
?>
mysql_fetch_field — Pobiera z wyniku informacje o kolumnie i zwraca jako obiekt
Opis
object mysql_fetch_field(int result, int [field_offset] );
Zwraca: obiekt zawierający informacje o polu
mysql_fetch_field używa się do uzyskania informacji o polach w danym wyniku zapytania. Jeżeli ofset pola nie został podany, zwracane zostanie następne pole nie pobrane jeszcze przez mysql_fetch_field.
Właściwości obiektu:
-
name - nazwa kolumny
-
table - nazwa tabeli do której należy kolumna
-
max_length - maksymalna długość kolumny
-
not_null - 1 jeżeli pole nie może być puste (null)
-
primary_key - 1 jeżeli kolumna jest kluczem podstawowym
-
unique_key - 1 jeżeli kolumna jest kluczem unikatowym
-
multiple_key - 1 jeżeli kolumna jest kluczem nieunikatowym
-
numeric - 1 jeżeli kolumna jest liczbowa
-
blob - 1 jeżeli kolumna jest typu BLOOB
-
type - typ kolumny
-
unsigned - 1 jeżeli kolumna jest bez znaku (plus lub minus)
-
zerofill - 1 jeżeli kolumna jest wypełniona zerami
Patrz także: mysql_field_seek
