Sponsorlu Bağlantılar
mysql_affected_rows
Bir önceki MySQL işleminden etkilenen satırların sayısını getirir.
Kullanımı
int mysql_affected_rows(int [link_identifier] );
mysql_affected_rows(), belirlenen link tanımlayıcı ile ilişkili olarak, sunucudaki son INSERT, UPDATE veya DELETE sorgularının etkilediği satırların sayısını döndürür. Eğer link tanımlayıcı belirlenmemişse son açılan link kabul edilir.
Son sorgu, WHERE ' i olmayan bir DELETE sorgusu ise tüm kayıtlar tablodan silinecektir Fakat bu fonksiyon sıfır değeri döndürecektir
Bu komut SELECT işlemleri için etkili değildir. Sadece kayıtları değiştiren işlemler üzerinde etkilidir. Bir SELECT' ten dönen satırların sayısını döndürmek için mysql_num_rows() kullanılır
mysql_change_user
Aktif bağlantı üzerindeki oturum açmış kullanıcıyı değiştirir
Kullanımı
int mysql_change_user(string user, string password, string [database] , int [link_identifier] );
mysql_change_user(), aktif bağlantı üzerindeki oturum açmış kullanıcıyı değiştirir. Bir veritabanı belirlenmişse, bu, kullanıcı değiştikten sonra default veya yürürlükteki veritabanıdır. Eğer yeni user/password kombinasyonu yetkilendirilmede başarısız olursa, yürürlükteki bağlı kullanıcı aktif olarak kalır.
Not: Bu fonksiyon PHP 3.0.13 ile birlikte ortaya çıktı ve MySQL 3.23.3 veya daha yüksek versiyonları gerektirir
mysql_close
MySQL bağlantısını kapatır
Kullanımı
int mysql_close(int [link_identifier] );
Başarı durumunda true, hata durumunda false döner
mysql_close(), belirlenen link tanımlayıcı ile ilişkide bulunan bir MySQL veritabanına olan linki kapatır. Eğer link tanımlayıcı belirlenmemişse, son açılan link kabul edilir
Not: Sürekli olmayan açık linkler, betimin çalışması bittiğinde otomatik olarak kapandığı için, bu genellikle gerekmez
mysql_close(), mysql_pconnect() tarafından oluşturulan sürekli linkleri kapatmayacaktır
Örnek: MySQL kapatma örneği
1
2 <?php
3 $link = mysql_connect ("kraemer", "marliesle", "secret") {
4 or die ("Could not connect");
5 }
6 print ("Connected successfully");
7 mysql_close ($link);
8 ?>
9
Bkz: mysql_connect() ve mysql_pconnect().
mysql_connect
Bir MySQL sunucuya bir bağlantı açar.
Kullanımı
int mysql_connect(string [hostname [ort] [:/path/to/socket] ] , string [username] , string [password] );
Başarı durumunda pozitif bir MySQL link tanımlayıcı başarısızlık durumunda bir hata mesajı döndürür
mysql_connect(), bir MySQL sunucuya bir bağlantı kurar. Değişkenlerin tümü seçimlidir ve bunlar kaybolursa, varsayılanlar kabul edilir. ('localhost', sunucu process' e sahip olan kullanıcının kullanıcı ismi, boş password).
Hostname string' i bir port numarası da içerebilir. ör. "hostnameort" veya bir sokete bir path. ör. localhost için ":/path/to/socket" .
Not: "ort" için destek PHP 3.0B4'de eklendi
":/path/to/socket" için destek PHP 3.0.10 ile eklendi.
Başarısızlık durumunda fonksiyon ismine ön bekleme '@' ile hata mesajı durdurulabilir
İkinci bir çağrı, aynı değişkenlerle mysql_connect()' e yapılır. Hiçbir yeni link kurulmayacaktır.Fakat bunun yerine halen açık olan linkin link tanımlayıcısı geri dönecektir.
Betimin yürütmesi sonlanır sonlanmaz, mysql_close() çağrılarak dışsal bir şekilde kapatılmadıkça, sunucuya olan link kapatılacaktır.
Örnek: MySQL bağlanma örneği
1
2 <?php
3 $link = mysql_connect ("kraemer", "marliesle", "secret") {
4 or die ("Could not connect");
5 }
6 print ("Connected successfully");
7 mysql_close ($link);
8 ?>
9
Bkz. mysql_pconnect() ve mysql_close().
mysql_create_db
Bir MySQL veritabanı yaratır
Kullanımı
int mysql_create_db(string database name, int [link_identifier] );
mysql_create_db(), belirlenen link tanımlayıcı ile ilişkide bulunarak, sunucuda yeni bir veritabanı yaratma girişiminde bulunur.
Örnek: MySQL veritabanı yaratma örneği
1
2 <?php
3 $link = mysql_pconnect ("kron", "jutta", "geheim") {
4 or die ("Could not connect");
5 }
6 if (mysql_create_db ("my_db")) {
7 print ("Database created successfully\n");
8 } else {
9 printf ("Error creating database: %s\n", mysql_error ());
10 }
11 ?>
12
Aşağı doğru uygunluk için mysql_createdb() de kullanılabilir.
Bkz. mysql_drop_db().
mysql_data_seek
İçsel sonuç pointer' ını taşır
Kullanımı
int mysql_data_seek(int result_identifier, int row_number);
Başarı durumunda true, başarısızlık durumunda false döner.
mysql_data_seek(), belirlenen satır numarasını işaret eden belirli sonuç tanımlayıcı ile ilişkili olarak, MySQL sonucunun içsel satır pointer' ını taşır. mysql_fetch_row()' a bir sonraki çağrım bu satıra dönecektir.
Row_number 0'dan başlar
Örnek: MySQL veri arama örneği
1
2 <?php
3 $link = mysql_pconnect ("kron", "jutta", "geheim") {
4 or die ("Could not connect");
5 }
6
7 mysql_select_db ("samp_db") {
8 or die ("Could not select database");
9 }
10
11 $query = "SELECT last_name, first_name FROM friends";
12 $result = mysql_query ($query) {
13 or die ("Query failed");
14 }
15
16 # fetch rows in reverse order
17
18 for ($i = mysql_num_rows ($result) - 1; $i >=0; $i--) {
19 if (!mysql_data_seek ($result, $i)) {
20 printf ("Cannot seek to row %d\n", $i);
21 continue;
22 }
23
24 if(!($row = mysql_fetch_object ($result)))
25 continue;
26
27 printf ("%s %s<BR>\n", $row->last_name, $row->first_name);
28 }
29
30 mysql_free_result ($result);
31 ?>
32
mysql_db_query
Bir MySQL sorgusunu MySQL' e gönderir
Kullanımı
int mysql_db_query(string database, string query, int [link_identifier] );
Pozitif bir MySQL sonuç tanımlayıcı, veya hata durumunda false sorgu sonucu ile döner.
mysql_db_query(), bir veritabanı seçer ve bunun üzerinde bir sorguyu çalıştırır.Eğer seçimli link tanımlayıcı belirlenmemişse, fonksiyon MySQL sunucuya açık bir link bulmayı deneyecektir ve böyle bir link bulamazsa, değişkensiz olarak mysql_connect() çağrılmış gibi, bir tane yaratmayı deneyecektir.
Bkz. mysql_connect().
Aşağı doğru uygunluk için mysql() kullanılabilir
mysql_drop_db
Bir MySQL veritabanını silme
Kullanımı
int mysql_drop_db(string database_name, int [link_identifier] );
Başarı durumunda true, başarısızlık durumunda false döner
mysql_drop_db(), belirlenen link tanımlayıcı ile ilişkili olarak, tüm veritabanını sunucudan silmeye çalışır.
Bkz. mysql_create_db(). Aşağı doğru uygunluk için mysql_dropdb() kullanılabilir.
mysql_errno
Önceki MySQL işlemindeki hata mesajının numarasını döndürür
Kullanımı
int mysql_errno(int [link_identifier] );
MySQL veritabanından dönen hatalar artık uyarı yayınlamazlar. Bunun yerine, bu fonksiyonlar hata numarasını getirmede kullanılır
1
2 <?php
3 mysql_connect("marliesle");
4 echo mysql_errno().": ".mysql_error()."<BR>";
5 mysql_select_db("nonexistentdb");
6 echo mysql_errno().": ".mysql_error()."<BR>";
7 $conn = mysql_query("SELECT * FROM nonexistenttable");
8 echo mysql_errno().": ".mysql_error()."<BR>";
9 ?>
10
Bkz. mysql_error()
mysql_error
Önceki MySQL işleminin hata mesajının metnini geri döndürür
Kullanımı
string mysql_error(int [link_identifier] );
MySQL veritabanından dönen hatalar artık uyarı yayınlamazlar Bunun yerine bu fonksiyonlar hata string' ini getirmede kullanılırlar
1
2 <?php
3 mysql_connect("marliesle");
4 echo mysql_errno().": ".mysql_error()."<BR>";
5 mysql_select_db("nonexistentdb");
6 echo mysql_errno().": ".mysql_error()."<BR>";
7 $conn = mysql_query("SELECT * FROM nonexistenttable");
8 echo mysql_errno().": ".mysql_error()."<BR>";
9 ?>
10
Bkz. mysql_errno()
mysql_fetch_array
Bir associative dizi gibi bir sonuç satırını getirir.
Kullanımı
array mysql_fetch_array(int result, int [result_type] );
Getirilen satıra uyan bir dizi veya daha fazla satır yoksa false geri döner.
mysql_fetch_array(), mysql_fetch_row()' un genişletilmiş bir versiyonudur. Sonuç dizinin sayısal göstergelerinde saklanan veriye ek olarak, saha isimlerini anahtar olarak kullanarak, ilişkili göstergelerde veriyi de saklar.
Eğer sonucun bir veya daha fazla sütunu aynı saha isimlerine sahipse, son sütun önceliği alır. Aynı ismin diğer sütunlarına erişmek için, sütunun sayılsal indeks' i mevcut olmalı veya sütun için bir alias tanımlanmalıdır
1
2 select t1.f1 as foo t2.f1 as bar from t1, t2
3
mysql_fetch_array() kullanmak, mysql_fetch_row() kullanmaktan önemli düzeyde yavaş değildir. Hatta önemli bir ek değer sunar
mysql_fetch_array()' deki seçimli ikinci değişken olan result_type bir sabittir ve şu değerleri alabilir: MYSQL_ASSOC, MYSQL_NUM, ve MYSQL_BOTH. (Bu özellik PHP 3.0.7 ile eklenmiştir)
Daha ayrıntılı bilgi için bkz. mysql_fetch_row().
Örnek: mysql fetch array
1
2 <?php
3 mysql_connect($host,$user,$password);
4 $result = mysql_db_query("database","select * from table");
5 while($row = mysql_fetch_array($result)) {
6 echo $row["user_id"];
7 echo $row["fullname"];
8 }
9 mysql_free_result($result);
10 ?>
11
mysql_fetch_field
Bir sonuçtan sütun bilgisini getirir ve bir nesne şeklinde geri döndürür
Kullanımı
object mysql_fetch_field(int result, int [field_offset] );
Saha bilgisini içeren bir nesne geri döner.
mysql_fetch_field(), belirli bir sorgu sonucundaki sahalar hakkında bilgi edinmek için kullanılabilir. Saha ofset değeri belirlenmemişse, mysql_fetch_field() tarafından henüz getirilmemiş olan bir sonraki saha getirilir
Nesnenin özellikleri şunlardır:
name - sütun ismi
table - sütunun ait olduğu tablonun ismi
max_length - sütunun maksimum uzunluğu
not_null - eğer sütun null olamazsa bu değer 1' dir
primary_key - eğer sütun bir primary key ise bu değer 1' dir.
unique_key - eğer sütun bir unique key ise bu değer 1' dir
multiple_key - eğer sütun bir non-unique key ise bu değer 1' dir
numeric - eğer sütun sayısalsa bu değer 1' dir
blob - eğer sütun bir BLOB ise bu değer 1' dir
type - sütunun tipi
unsigned - eğer sütun işaretsizse bu değer 1' dir
zerofill - eğer sütun zero-filled ise bu değer 1' dir
Bkz. mysql_field_seek()
mysql_fetch_lengths
Bir sonuçtaki her çıktının uzunluğunu getirir.
Kullanımı
array mysql_fetch_lengths(int result);
mysql_fetch_row()' in getirdiği son satırdaki her sahanın uzunluğunu içeren bir dizi döndürür. Hata durumunda false döner.
mysql_fetch_lengths(), bir dizideki mysql_fetch_row(), mysql_fetch_array(), ve mysql_fetch_object() tarafından döndürülen son satırdaki her sonuç sütunun uzunluklarını saklar. Ve ofset 0' dan başlar.
Bkz. mysql_fetch_row().
mysql_fetch_object
Nesne formunda bir sonuç satırı getirir.
Kullanımı
object mysql_fetch_object(int result, int [result_typ] );
Getirilen satırla ilişkili olan özellikleri ile bir nesne veya daha fazla satır yoksa false döndürür.
mysql_fetch_object(), mysql_fetch_array()' e çok benzer. Tek farkı, bir dizi yerine tek bir nesnenin geri dönmesidir. Dolaylı olarak, bu, veriye onların ofsetleri (sayılar yasal olmayan özellik isimleridir) ile değil, sadece saha isimleriyle erişilebileceği anlamına gelir.
Seçimli değişken olan result_typ bir sabittir ve şu değerleri alabilir: MYSQL_ASSOC, MYSQL_NUM, ve MYSQL_BOTH.
Fonksiyonun hızı, mysql_fetch_array() ile aynıdır ve hemen hemen mysql_fetch_row() kadar hızlıdır. (aradaki fark önemsiz derecede azdır).
Örnek: mysql fetch object
1
2 <?php
3 mysql_connect($host,$user,$password);
4 $result = mysql_db_query("database","select * from table");
5 while($row = mysql_fetch_object($result)) {
6 echo $row->user_id;
7 echo $row->fullname;
8 }
9 mysql_free_result($result);
10 ?>
11
Bkz. mysql_fetch_array() ve mysql_fetch_row().
mysql_fetch_row
Bir sonuç satırını, bir enumerated dizi formunda getirir.
Kullanımı
array mysql_fetch_row(int result);
Getirilen satırla ilişkili bir dizi veya daha fazla satır yoksa false geri döner.
mysql_fetch_row(), belirlenen sonuç tanımlayıcıya bağlı olarak, sonuçtan bir satır veri getirir. Satır, bir dizi formunda döner. Her sonuç sütunu, ofset 0' dan başlayacak şekilde, bir dizi ofsette tutulur.
mysql_fetch_row()' e yapılan sonraki çağrı, sonuç kümesindeki sonraki satırı veya daha fazla satır yoksa false değerinin döndürecektir.
Bkz. mysql_fetch_array(), mysql_fetch_object(), mysql_data_seek(), mysql_fetch_lengths(), ve mysql_result().
mysql_field_name
Bir sonuçtaki belirlenen bir sahanın ismini getirir.
Kullanımı
string mysql_field_name(int result, int field_index);
mysql_field_name() belirlenen sahanın ismini döndürür. Fonksiyonun değişkenleri, sonuç tanımlayıcı ve saha indeksidir, ör. mysql_field_name($result,2);
Sonuç tanımlayıcıya bağlı olarak, sonuçtaki ikinci saha ismi dönecektir.
Aşağı doğru uygunluk için mysql_fieldname() de kullanılabilir.
mysql_field_seek
Belirli bir saha ofsetini sonuç pointer' a atar.
Kullanımı
int mysql_field_seek(int result, int field_offset);
Belirli bir saha ofsetini araştırır. Eğer mysql_fetch_field()' a bir sonraki çağrı bir saha ofseti içermeyecekse, bu saha geri döner.
Bkz. mysql_fetch_field().
mysql_field_table
Belirtilen sahayı içinde bulunduran tablonun ismini getirir.
Kullanımı
string mysql_field_table(int result, int field_offset);
Saha için tablo ismini getirir. Aşağı doğru uygunluk için mysql_fieldtable() da kullanılabilir.
mysql_field_type
Bir sonuçtaki belirtilen bir sahanın tipini getirir.
Kullanımı
string mysql_field_type(int result, int field_offset);
mysql_field_type(), mysql_field_name() fonksiyonuna benzer. Değişkenler aynıdır. Fakat saha tipi geri döner. Bu, "int", "real", "string", "blob", veya diğerlerinden biri olacaktır.
Örnek: mysql field types
1
2 <?php
3 mysql_connect("localhost:3306");
4 mysql_select_db("wisconsin");
5 $result = mysql_query("SELECT * FROM onek");
6 $fields = mysql_num_fields($result);
7 $rows = mysql_num_rows($result);
8 $i = 0;
9 $table = mysql_field_table($result, $i);
10 echo "Your '".$table."' table has ".$fields." fields and ".$rows." records <BR>";
11 echo "The table has the following fields <BR>";
12 while ($i < $fields) {
13 $type = mysql_field_type ($result, $i);
14 $name = mysql_field_name ($result, $i);
15 $len = mysql_field_len ($result, $i);
16 $flags = mysql_field_flags ($result, $i);
17 echo $type." ".$name." ".$len." ".$flags."<BR>";
18 $i++;
19 }
20 mysql_close();
21 ?>
22
Aşağı doğru uygunluk için mysql_fieldtype() da kullanılabilir.
mysql_field_flags
Bir sonuçtaki belirtilen saha ile ilişkili bayrakları getirir.
Kullanımı
string mysql_field_flags(int result, int field_offset);
mysql_field_flags(), belirtilen sahanın, saha bayraklarını döndürür. Bayraklar tek bir word şeklinde raporlanır ve her bayrak bir boşlukla birbirinden ayrılmamıştır. Bu nedenle, explode() kullanılarak dönüş değeri bölünebilir.
Eğer mevcut MySQL versiyonu bunları destekleyecek kadar yeterliyse, şu bayraklar raporlanır: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment", "timestamp".
Aşağı doğru uygunluk için mysql_fieldflags() de kullanılabilir.
mysql_field_len
Belirtilen sahanın uzunluğunu döndürür.
Kullanımı
int mysql_field_len(int result, int field_offset);
mysql_field_len() belirtilen sahanın uzunluğunu döndürür. Aşağı doğru uygunluk için mysql_fieldlen() de kullanılabilir.
mysql_free_result
Sonuç belleği boşaltır.
Kullanımı
int mysql_free_result(int result);
Betimin çalışmasından dolayı bellek çok dolduysa, sadece mysql_free_result()' ın çağırılması yeterlidir. Belirtilen sonuç tanımlayıcı için ilgili tüm sonuç belleği otomatik olarak boşaltılacaktır.
Aşağı doğru uygunluk için mysql_freeresult() da kullanılabilir.
mysql_insert_id
Bir önceki INSERT işleminden oluşan id' yi getirir.
Kullanımı
int mysql_insert_id(int [link_identifier] );
mysql_insert_id(), bir AUTO_INCREMENTED sahası için üretilen ID' yi döndürür. Verilen link_identifier kullanan son INSERT sorgusu tarafından getirilen auto-generated ID' i döndürecektir. Eğer link_identifier belirtilmemişse, son açık link kabul edilir.
mysql_list_fields
MySQL sonuç sahalarını listeler
Kullanımı
int mysql_list_fields(string database_name, string table_name, int [link_identifier] );
mysql_list_fields(), verilen bir tablename hakkında bilgi getirir. Değişkenler, veritabanı ismi ve tablo ismidir. mysql_field_flags(), mysql_field_len(), mysql_field_name(), ve mysql_field_type() tarafından kullanılabilecek bir sonuç pointer' ı döndürür.
Bir sonuç tanımlayıcı, pozitif bir integer' dır. Bir hata oluştuğunda, fonksiyon -1 döndürür. Hatayı tanımlayan bir string $phperrmsg' a konacaktır ve fonksiyon @mysql() olarak çağırılmazsa bu hata string' i aynı zamanda yazdırılacaktır.
Aşağı doğru uygunluk için mysql_listfields() da kullanılabilir.
mysql_list_dbs
MySQL sunucuda uygun olan veritabanlarını listeler
Kullanımı
int mysql_list_dbs(int [link_identifier] );
mysql_list_dbs(), o anki mysql daemon' da uygun olan veritabanlarını içeren bir sonuç pointer' ı döndürecektir. Bu sonuç pointer' ını dolaşmak için mysql_tablename() fonksiyonu kullanılır.
Aşağı doğru uygunluk için mysql_listdbs() de kullanılabilir.
mysql_list_tables
Bir MySQL veritabanındaki tabloları listeler
Kullanımı
int mysql_list_tables(string database, int [link_identifier] );
mysql_list_tables(), bir veritabanı ismi alır ve mysql_db_query() fonksiyonundakine çok benzer olarak bir sonuç pointer' ı döndürür. mysql_tablename() fonksiyonu, sonuç pointer' daki gerçek tablo isimlerini açmak için kullanılmalıdır.
Aşağı doğru uygunluk için mysql_listtables() da kullanılabilir.
mysql_num_fields
Sonuçtaki sahaların sayısını verir.
Kullanımı
int mysql_num_fields(int result);
mysql_num_fields(), bir sonuç kümesindeki sahaların sayısını döndürür.
Bkz. mysql_db_query(), mysql_query(), mysql_fetch_field(), mysql_num_rows().
Aşağı doğru uygunluk için mysql_numfields() da kullanılabilir.
mysql_num_rows
Sonuçtaki satırların sayısını listeler.
Kullanımı
int mysql_num_rows(int result);
mysql_num_rows(), bir sonuç kümesindeki satırların sayısını döndürür.
Bkz. mysql_db_query(), mysql_query() ve mysql_fetch_row().
Aşağı doğru uygunluk için mysql_numrows() da kullanılabilir.
mysql_pconnect
Bir MySQL sunucuya sürekli bir bağlantı açar.
Kullanımı
int mysql_pconnect(string [hostname [ort] [:/path/to/socket] ] , string [username] , string [password] );
Başarı durumunda pozitif bir MySQL link tanımlayıcı veya hata durumunda false değeri döndürür.
mysql_pconnect(), bir MySQL sunucuya bir bağlantı kurar. Tüm değişkenler seçimlidir ve eğer bunlar olmazsa, varsayılanları kabul edilir ('localhost', sunucu process' in sahibi olan kullanıcının kullanıcı ismi, boş password).
Hostname string' i, bir port numarası da içerebilir. Ör. "hostnameort" veya bir sokete bir path Ör. localhost için ":/path/to/socket"
Not: "ort" için destek 3.0B4'de eklendi. ":/path/to/socket" için destek 3.0.10'de eklendi.
mysql_pconnect(), mysql_connect()' e çok benzer. Ancak iki temel farkı vardır.
İlk olarak, bağlanıldığında, fonksiyon aynı host, username ve password ile açık bir link arayacaktır. Eğer bir tane bulunursa, onun için, yeni bir bağlantı açmak yerine, bir tanımlayıcı dönecektir.
Diğer fark; SQL sunucuya olan bağlantı, betimin çalışması bittiğinde kapatılmayacaktır. Bunun yerine, link gelecekteki kullanımlar için açık kalacaktır. (mysql_close(), mysql_pconnect() tarafından kurulan linki kapatmayacaktır).
Bu nedenle bu tür linkler 'persistent (sürekli)' olarak geçer.
mysql_query
MySQL' e bir SQL sorgusu gönderir
Kullanımı
int mysql_query(string query, int [link_identifier] );
mysql_query(), sunucudaki o an aktif olan ve belirtilen link tanımlayıcı ile ilişkili olan veritabanına bir sorgu gönderir. Eğer link_identifier belirtilmemişse, son açılan link kabul edilir. Hiçbir link açık değilse, fonksiyon, mysql_connect() değişkensiz çağırılmış gibi bir link kurmaya çalışır ve onu kullanır.
Sorgu string' i bir noktalı virgül ile bitmemelidir.
mysql_query(), sorgunun başarılı olup olmamasına göre TRUE (non-zero) veya FALSE döndürür. TRUE dönüş değeri sorgunun yasal olduğunu ve sunucu tarafından çalıştırılabileceğini gösterir.Etkilenen ya da geri dönen satır sayısı hakkında hiçbir şey içermez. Bir sorgu, hiçbir satırı etkilemediği veya hiçbir satır döndürmediği halde başarılı olabilir.
Aşağıdaki sorgu syntactic olarak geçersizdir. Bu nedenle mysql_query() başarısız olur ve FALSE döndürür:
Örnek: mysql_query()
1
2 <?php
3 $result = mysql_query ("SELECT * WHERE 1=1")
4 or die ("Invalid query");
5 ?>
6
Aşağıdaki sorgu, eğer my_col my_tbl tablosunda bir sütun değilse, semantik olarak geçersizdir. Bu nedenle mysql_query() geçersizdir ve FALSE döndürür:
Örnek: mysql_query()
1
2 <?php
3 $result = mysql_query ("SELECT my_col FROM my_tbl")
4 or die ("Invalid query");
5 ?>
6
Eğer sorgunun ilişkili olduğu tablolara erişim izniniz yoksa, mysql_query() başarısız olacaktır ve FALSE döndürecektir.
Sorgunun başarılı olduğu varsayılırsa, kaç tane satırın etkilendiğini bulmak için mysql_affected_rows() çağırılabilir. (DELETE, INSERT, REPLACE, veya UPDATE işlemleri için). SELECT işlemleri için, mysql_query(), mysql_result()' a geçirebileceğiniz yeni bir sonuç tanımlayıcı döndürür. Sonuç kümesiyle yaptığınızda, mysql_free_result()' un çağırılmasıyla ilişkilendirilmiş kaynakları boşaltabilirsiniz.
Bkz. mysql_affected_rows(), mysql_db_query(), mysql_free_result(), mysql_result(), mysql_select_db(), ve mysql_connect().
mysql_result
Sonuç veriyi getirir.
Kullanımı
int mysql_result(int result, int row, mixed [field] );
mysql_result(), bir MySQL sonuç kümesinden bir hücrenin içeriğini döndürür. Saha değişkeni, sahanın ofseti, sahanın ismi veya sahanın tablosu nokta sahanın ismi olabilir (SahaIsmi.TabloIsmi). Eğer sütun ismi alias' lanmışsa ('select foo as bar from...'), sütun ismi yerine alias kullanılır.
Büyük sonuç kümeleri üzerinde çalışıldığında, tüm satırı getirecek fonksiyonlardan biri kullanılmalıdır (aşağıda belirtildiği gibi). Bir fonksiyon çağrımında bu fonksiyonlar birden çok hücrenin içeriğini döndüreceğinden, bunlar, mysql_result()' tan çok daha hızlı olacaktır. Ayrıca, saha değişkeni için sayısal bir değer belirlemenin, bir saha ismi veya SahaIsmi.TabloIsmi değişkeni belirlemeden daha hızlı olduğu unutulmamalıdır.
mysql_result()' ı çağırma, sonuç kümesiyle ilgilenen diğer fonksiyonların çağırılmasıyla karıştırılmamalıdır.
Tavsiye edilen yüksek performanslı alternatifler: mysql_fetch_row(), mysql_fetch_array(), ve mysql_fetch_object().
mysql_select_db
MySQL veritabanı seçer
Kullanımı
int mysql_select_db(string database_name, int [link_identifier] );
Başarı durumunda true, hata durumunda false döner.
mysql_select_db(), sunucudaki belirtilen link tanımlayıcı ile ilişkili olan o anki aktif veritabanını set eder. Eğer hiçbir link tanımlayıcı belirlenmemişse, son açılan link kabul edilir. Hiçbir link açık değilse, fonksiyon mysql_connect() çağırılmış gibi bir link kurmaya ve bunu kullanmaya çalışacaktır.
mysql_query()'e sonradan gelen her çağrım, aktif veritabanı üzerinde yapılacaktır.
Bkz. mysql_connect(), mysql_pconnect(), ve mysql_query().
Aşağı doğru uygunluk için mysql_selectdb() de kullanılabilir.
mysql_tablename
Sahanın tablo ismini getirir
Kullanımı
string mysql_tablename(int result, int i);
mysql_tablename(), hem mysql_list_tables() tarafından döndürülen bir sonuç pointer' ını hem de bir integer indeksi alır ve bir tablo ismi döndürür. mysql_num_rows() fonksiyonu, sonuç pointer' daki tablo sayısını belirlemede kullanılabilir.
Örnek: Mysql_tablename() örneği
1
2 <?php
3 mysql_connect ("localhost:3306");
4 $result = mysql_list_tables ("wisconsin");
5 $i = 0;
6 while ($i < mysql_num_rows ($result)) {
7 $tb_names[$i] = mysql_tablename ($result, $i);
8 echo $tb_names[$i] . "<BR>";
9 $i++;
10 }
11 ?>
12
ALINTI.
Bir önceki MySQL işleminden etkilenen satırların sayısını getirir.
Kullanımı
int mysql_affected_rows(int [link_identifier] );
mysql_affected_rows(), belirlenen link tanımlayıcı ile ilişkili olarak, sunucudaki son INSERT, UPDATE veya DELETE sorgularının etkilediği satırların sayısını döndürür. Eğer link tanımlayıcı belirlenmemişse son açılan link kabul edilir.
Son sorgu, WHERE ' i olmayan bir DELETE sorgusu ise tüm kayıtlar tablodan silinecektir Fakat bu fonksiyon sıfır değeri döndürecektir
Bu komut SELECT işlemleri için etkili değildir. Sadece kayıtları değiştiren işlemler üzerinde etkilidir. Bir SELECT' ten dönen satırların sayısını döndürmek için mysql_num_rows() kullanılır
mysql_change_user
Aktif bağlantı üzerindeki oturum açmış kullanıcıyı değiştirir
Kullanımı
int mysql_change_user(string user, string password, string [database] , int [link_identifier] );
mysql_change_user(), aktif bağlantı üzerindeki oturum açmış kullanıcıyı değiştirir. Bir veritabanı belirlenmişse, bu, kullanıcı değiştikten sonra default veya yürürlükteki veritabanıdır. Eğer yeni user/password kombinasyonu yetkilendirilmede başarısız olursa, yürürlükteki bağlı kullanıcı aktif olarak kalır.
Not: Bu fonksiyon PHP 3.0.13 ile birlikte ortaya çıktı ve MySQL 3.23.3 veya daha yüksek versiyonları gerektirir
mysql_close
MySQL bağlantısını kapatır
Kullanımı
int mysql_close(int [link_identifier] );
Başarı durumunda true, hata durumunda false döner
mysql_close(), belirlenen link tanımlayıcı ile ilişkide bulunan bir MySQL veritabanına olan linki kapatır. Eğer link tanımlayıcı belirlenmemişse, son açılan link kabul edilir
Not: Sürekli olmayan açık linkler, betimin çalışması bittiğinde otomatik olarak kapandığı için, bu genellikle gerekmez
mysql_close(), mysql_pconnect() tarafından oluşturulan sürekli linkleri kapatmayacaktır
Örnek: MySQL kapatma örneği
1
2 <?php
3 $link = mysql_connect ("kraemer", "marliesle", "secret") {
4 or die ("Could not connect");
5 }
6 print ("Connected successfully");
7 mysql_close ($link);
8 ?>
9
Bkz: mysql_connect() ve mysql_pconnect().
mysql_connect
Bir MySQL sunucuya bir bağlantı açar.
Kullanımı
int mysql_connect(string [hostname [ort] [:/path/to/socket] ] , string [username] , string [password] );
Başarı durumunda pozitif bir MySQL link tanımlayıcı başarısızlık durumunda bir hata mesajı döndürür
mysql_connect(), bir MySQL sunucuya bir bağlantı kurar. Değişkenlerin tümü seçimlidir ve bunlar kaybolursa, varsayılanlar kabul edilir. ('localhost', sunucu process' e sahip olan kullanıcının kullanıcı ismi, boş password).
Hostname string' i bir port numarası da içerebilir. ör. "hostnameort" veya bir sokete bir path. ör. localhost için ":/path/to/socket" .
Not: "ort" için destek PHP 3.0B4'de eklendi
":/path/to/socket" için destek PHP 3.0.10 ile eklendi.
Başarısızlık durumunda fonksiyon ismine ön bekleme '@' ile hata mesajı durdurulabilir
İkinci bir çağrı, aynı değişkenlerle mysql_connect()' e yapılır. Hiçbir yeni link kurulmayacaktır.Fakat bunun yerine halen açık olan linkin link tanımlayıcısı geri dönecektir.
Betimin yürütmesi sonlanır sonlanmaz, mysql_close() çağrılarak dışsal bir şekilde kapatılmadıkça, sunucuya olan link kapatılacaktır.
Örnek: MySQL bağlanma örneği
1
2 <?php
3 $link = mysql_connect ("kraemer", "marliesle", "secret") {
4 or die ("Could not connect");
5 }
6 print ("Connected successfully");
7 mysql_close ($link);
8 ?>
9
Bkz. mysql_pconnect() ve mysql_close().
mysql_create_db
Bir MySQL veritabanı yaratır
Kullanımı
int mysql_create_db(string database name, int [link_identifier] );
mysql_create_db(), belirlenen link tanımlayıcı ile ilişkide bulunarak, sunucuda yeni bir veritabanı yaratma girişiminde bulunur.
Örnek: MySQL veritabanı yaratma örneği
1
2 <?php
3 $link = mysql_pconnect ("kron", "jutta", "geheim") {
4 or die ("Could not connect");
5 }
6 if (mysql_create_db ("my_db")) {
7 print ("Database created successfully\n");
8 } else {
9 printf ("Error creating database: %s\n", mysql_error ());
10 }
11 ?>
12
Aşağı doğru uygunluk için mysql_createdb() de kullanılabilir.
Bkz. mysql_drop_db().
mysql_data_seek
İçsel sonuç pointer' ını taşır
Kullanımı
int mysql_data_seek(int result_identifier, int row_number);
Başarı durumunda true, başarısızlık durumunda false döner.
mysql_data_seek(), belirlenen satır numarasını işaret eden belirli sonuç tanımlayıcı ile ilişkili olarak, MySQL sonucunun içsel satır pointer' ını taşır. mysql_fetch_row()' a bir sonraki çağrım bu satıra dönecektir.
Row_number 0'dan başlar
Örnek: MySQL veri arama örneği
1
2 <?php
3 $link = mysql_pconnect ("kron", "jutta", "geheim") {
4 or die ("Could not connect");
5 }
6
7 mysql_select_db ("samp_db") {
8 or die ("Could not select database");
9 }
10
11 $query = "SELECT last_name, first_name FROM friends";
12 $result = mysql_query ($query) {
13 or die ("Query failed");
14 }
15
16 # fetch rows in reverse order
17
18 for ($i = mysql_num_rows ($result) - 1; $i >=0; $i--) {
19 if (!mysql_data_seek ($result, $i)) {
20 printf ("Cannot seek to row %d\n", $i);
21 continue;
22 }
23
24 if(!($row = mysql_fetch_object ($result)))
25 continue;
26
27 printf ("%s %s<BR>\n", $row->last_name, $row->first_name);
28 }
29
30 mysql_free_result ($result);
31 ?>
32
mysql_db_query
Bir MySQL sorgusunu MySQL' e gönderir
Kullanımı
int mysql_db_query(string database, string query, int [link_identifier] );
Pozitif bir MySQL sonuç tanımlayıcı, veya hata durumunda false sorgu sonucu ile döner.
mysql_db_query(), bir veritabanı seçer ve bunun üzerinde bir sorguyu çalıştırır.Eğer seçimli link tanımlayıcı belirlenmemişse, fonksiyon MySQL sunucuya açık bir link bulmayı deneyecektir ve böyle bir link bulamazsa, değişkensiz olarak mysql_connect() çağrılmış gibi, bir tane yaratmayı deneyecektir.
Bkz. mysql_connect().
Aşağı doğru uygunluk için mysql() kullanılabilir
mysql_drop_db
Bir MySQL veritabanını silme
Kullanımı
int mysql_drop_db(string database_name, int [link_identifier] );
Başarı durumunda true, başarısızlık durumunda false döner
mysql_drop_db(), belirlenen link tanımlayıcı ile ilişkili olarak, tüm veritabanını sunucudan silmeye çalışır.
Bkz. mysql_create_db(). Aşağı doğru uygunluk için mysql_dropdb() kullanılabilir.
mysql_errno
Önceki MySQL işlemindeki hata mesajının numarasını döndürür
Kullanımı
int mysql_errno(int [link_identifier] );
MySQL veritabanından dönen hatalar artık uyarı yayınlamazlar. Bunun yerine, bu fonksiyonlar hata numarasını getirmede kullanılır
1
2 <?php
3 mysql_connect("marliesle");
4 echo mysql_errno().": ".mysql_error()."<BR>";
5 mysql_select_db("nonexistentdb");
6 echo mysql_errno().": ".mysql_error()."<BR>";
7 $conn = mysql_query("SELECT * FROM nonexistenttable");
8 echo mysql_errno().": ".mysql_error()."<BR>";
9 ?>
10
Bkz. mysql_error()
mysql_error
Önceki MySQL işleminin hata mesajının metnini geri döndürür
Kullanımı
string mysql_error(int [link_identifier] );
MySQL veritabanından dönen hatalar artık uyarı yayınlamazlar Bunun yerine bu fonksiyonlar hata string' ini getirmede kullanılırlar
1
2 <?php
3 mysql_connect("marliesle");
4 echo mysql_errno().": ".mysql_error()."<BR>";
5 mysql_select_db("nonexistentdb");
6 echo mysql_errno().": ".mysql_error()."<BR>";
7 $conn = mysql_query("SELECT * FROM nonexistenttable");
8 echo mysql_errno().": ".mysql_error()."<BR>";
9 ?>
10
Bkz. mysql_errno()
mysql_fetch_array
Bir associative dizi gibi bir sonuç satırını getirir.
Kullanımı
array mysql_fetch_array(int result, int [result_type] );
Getirilen satıra uyan bir dizi veya daha fazla satır yoksa false geri döner.
mysql_fetch_array(), mysql_fetch_row()' un genişletilmiş bir versiyonudur. Sonuç dizinin sayısal göstergelerinde saklanan veriye ek olarak, saha isimlerini anahtar olarak kullanarak, ilişkili göstergelerde veriyi de saklar.
Eğer sonucun bir veya daha fazla sütunu aynı saha isimlerine sahipse, son sütun önceliği alır. Aynı ismin diğer sütunlarına erişmek için, sütunun sayılsal indeks' i mevcut olmalı veya sütun için bir alias tanımlanmalıdır
1
2 select t1.f1 as foo t2.f1 as bar from t1, t2
3
mysql_fetch_array() kullanmak, mysql_fetch_row() kullanmaktan önemli düzeyde yavaş değildir. Hatta önemli bir ek değer sunar
mysql_fetch_array()' deki seçimli ikinci değişken olan result_type bir sabittir ve şu değerleri alabilir: MYSQL_ASSOC, MYSQL_NUM, ve MYSQL_BOTH. (Bu özellik PHP 3.0.7 ile eklenmiştir)
Daha ayrıntılı bilgi için bkz. mysql_fetch_row().
Örnek: mysql fetch array
1
2 <?php
3 mysql_connect($host,$user,$password);
4 $result = mysql_db_query("database","select * from table");
5 while($row = mysql_fetch_array($result)) {
6 echo $row["user_id"];
7 echo $row["fullname"];
8 }
9 mysql_free_result($result);
10 ?>
11
mysql_fetch_field
Bir sonuçtan sütun bilgisini getirir ve bir nesne şeklinde geri döndürür
Kullanımı
object mysql_fetch_field(int result, int [field_offset] );
Saha bilgisini içeren bir nesne geri döner.
mysql_fetch_field(), belirli bir sorgu sonucundaki sahalar hakkında bilgi edinmek için kullanılabilir. Saha ofset değeri belirlenmemişse, mysql_fetch_field() tarafından henüz getirilmemiş olan bir sonraki saha getirilir
Nesnenin özellikleri şunlardır:
name - sütun ismi
table - sütunun ait olduğu tablonun ismi
max_length - sütunun maksimum uzunluğu
not_null - eğer sütun null olamazsa bu değer 1' dir
primary_key - eğer sütun bir primary key ise bu değer 1' dir.
unique_key - eğer sütun bir unique key ise bu değer 1' dir
multiple_key - eğer sütun bir non-unique key ise bu değer 1' dir
numeric - eğer sütun sayısalsa bu değer 1' dir
blob - eğer sütun bir BLOB ise bu değer 1' dir
type - sütunun tipi
unsigned - eğer sütun işaretsizse bu değer 1' dir
zerofill - eğer sütun zero-filled ise bu değer 1' dir
Bkz. mysql_field_seek()
mysql_fetch_lengths
Bir sonuçtaki her çıktının uzunluğunu getirir.
Kullanımı
array mysql_fetch_lengths(int result);
mysql_fetch_row()' in getirdiği son satırdaki her sahanın uzunluğunu içeren bir dizi döndürür. Hata durumunda false döner.
mysql_fetch_lengths(), bir dizideki mysql_fetch_row(), mysql_fetch_array(), ve mysql_fetch_object() tarafından döndürülen son satırdaki her sonuç sütunun uzunluklarını saklar. Ve ofset 0' dan başlar.
Bkz. mysql_fetch_row().
mysql_fetch_object
Nesne formunda bir sonuç satırı getirir.
Kullanımı
object mysql_fetch_object(int result, int [result_typ] );
Getirilen satırla ilişkili olan özellikleri ile bir nesne veya daha fazla satır yoksa false döndürür.
mysql_fetch_object(), mysql_fetch_array()' e çok benzer. Tek farkı, bir dizi yerine tek bir nesnenin geri dönmesidir. Dolaylı olarak, bu, veriye onların ofsetleri (sayılar yasal olmayan özellik isimleridir) ile değil, sadece saha isimleriyle erişilebileceği anlamına gelir.
Seçimli değişken olan result_typ bir sabittir ve şu değerleri alabilir: MYSQL_ASSOC, MYSQL_NUM, ve MYSQL_BOTH.
Fonksiyonun hızı, mysql_fetch_array() ile aynıdır ve hemen hemen mysql_fetch_row() kadar hızlıdır. (aradaki fark önemsiz derecede azdır).
Örnek: mysql fetch object
1
2 <?php
3 mysql_connect($host,$user,$password);
4 $result = mysql_db_query("database","select * from table");
5 while($row = mysql_fetch_object($result)) {
6 echo $row->user_id;
7 echo $row->fullname;
8 }
9 mysql_free_result($result);
10 ?>
11
Bkz. mysql_fetch_array() ve mysql_fetch_row().
mysql_fetch_row
Bir sonuç satırını, bir enumerated dizi formunda getirir.
Kullanımı
array mysql_fetch_row(int result);
Getirilen satırla ilişkili bir dizi veya daha fazla satır yoksa false geri döner.
mysql_fetch_row(), belirlenen sonuç tanımlayıcıya bağlı olarak, sonuçtan bir satır veri getirir. Satır, bir dizi formunda döner. Her sonuç sütunu, ofset 0' dan başlayacak şekilde, bir dizi ofsette tutulur.
mysql_fetch_row()' e yapılan sonraki çağrı, sonuç kümesindeki sonraki satırı veya daha fazla satır yoksa false değerinin döndürecektir.
Bkz. mysql_fetch_array(), mysql_fetch_object(), mysql_data_seek(), mysql_fetch_lengths(), ve mysql_result().
mysql_field_name
Bir sonuçtaki belirlenen bir sahanın ismini getirir.
Kullanımı
string mysql_field_name(int result, int field_index);
mysql_field_name() belirlenen sahanın ismini döndürür. Fonksiyonun değişkenleri, sonuç tanımlayıcı ve saha indeksidir, ör. mysql_field_name($result,2);
Sonuç tanımlayıcıya bağlı olarak, sonuçtaki ikinci saha ismi dönecektir.
Aşağı doğru uygunluk için mysql_fieldname() de kullanılabilir.
mysql_field_seek
Belirli bir saha ofsetini sonuç pointer' a atar.
Kullanımı
int mysql_field_seek(int result, int field_offset);
Belirli bir saha ofsetini araştırır. Eğer mysql_fetch_field()' a bir sonraki çağrı bir saha ofseti içermeyecekse, bu saha geri döner.
Bkz. mysql_fetch_field().
mysql_field_table
Belirtilen sahayı içinde bulunduran tablonun ismini getirir.
Kullanımı
string mysql_field_table(int result, int field_offset);
Saha için tablo ismini getirir. Aşağı doğru uygunluk için mysql_fieldtable() da kullanılabilir.
mysql_field_type
Bir sonuçtaki belirtilen bir sahanın tipini getirir.
Kullanımı
string mysql_field_type(int result, int field_offset);
mysql_field_type(), mysql_field_name() fonksiyonuna benzer. Değişkenler aynıdır. Fakat saha tipi geri döner. Bu, "int", "real", "string", "blob", veya diğerlerinden biri olacaktır.
Örnek: mysql field types
1
2 <?php
3 mysql_connect("localhost:3306");
4 mysql_select_db("wisconsin");
5 $result = mysql_query("SELECT * FROM onek");
6 $fields = mysql_num_fields($result);
7 $rows = mysql_num_rows($result);
8 $i = 0;
9 $table = mysql_field_table($result, $i);
10 echo "Your '".$table."' table has ".$fields." fields and ".$rows." records <BR>";
11 echo "The table has the following fields <BR>";
12 while ($i < $fields) {
13 $type = mysql_field_type ($result, $i);
14 $name = mysql_field_name ($result, $i);
15 $len = mysql_field_len ($result, $i);
16 $flags = mysql_field_flags ($result, $i);
17 echo $type." ".$name." ".$len." ".$flags."<BR>";
18 $i++;
19 }
20 mysql_close();
21 ?>
22
Aşağı doğru uygunluk için mysql_fieldtype() da kullanılabilir.
mysql_field_flags
Bir sonuçtaki belirtilen saha ile ilişkili bayrakları getirir.
Kullanımı
string mysql_field_flags(int result, int field_offset);
mysql_field_flags(), belirtilen sahanın, saha bayraklarını döndürür. Bayraklar tek bir word şeklinde raporlanır ve her bayrak bir boşlukla birbirinden ayrılmamıştır. Bu nedenle, explode() kullanılarak dönüş değeri bölünebilir.
Eğer mevcut MySQL versiyonu bunları destekleyecek kadar yeterliyse, şu bayraklar raporlanır: "not_null", "primary_key", "unique_key", "multiple_key", "blob", "unsigned", "zerofill", "binary", "enum", "auto_increment", "timestamp".
Aşağı doğru uygunluk için mysql_fieldflags() de kullanılabilir.
mysql_field_len
Belirtilen sahanın uzunluğunu döndürür.
Kullanımı
int mysql_field_len(int result, int field_offset);
mysql_field_len() belirtilen sahanın uzunluğunu döndürür. Aşağı doğru uygunluk için mysql_fieldlen() de kullanılabilir.
mysql_free_result
Sonuç belleği boşaltır.
Kullanımı
int mysql_free_result(int result);
Betimin çalışmasından dolayı bellek çok dolduysa, sadece mysql_free_result()' ın çağırılması yeterlidir. Belirtilen sonuç tanımlayıcı için ilgili tüm sonuç belleği otomatik olarak boşaltılacaktır.
Aşağı doğru uygunluk için mysql_freeresult() da kullanılabilir.
mysql_insert_id
Bir önceki INSERT işleminden oluşan id' yi getirir.
Kullanımı
int mysql_insert_id(int [link_identifier] );
mysql_insert_id(), bir AUTO_INCREMENTED sahası için üretilen ID' yi döndürür. Verilen link_identifier kullanan son INSERT sorgusu tarafından getirilen auto-generated ID' i döndürecektir. Eğer link_identifier belirtilmemişse, son açık link kabul edilir.
mysql_list_fields
MySQL sonuç sahalarını listeler
Kullanımı
int mysql_list_fields(string database_name, string table_name, int [link_identifier] );
mysql_list_fields(), verilen bir tablename hakkında bilgi getirir. Değişkenler, veritabanı ismi ve tablo ismidir. mysql_field_flags(), mysql_field_len(), mysql_field_name(), ve mysql_field_type() tarafından kullanılabilecek bir sonuç pointer' ı döndürür.
Bir sonuç tanımlayıcı, pozitif bir integer' dır. Bir hata oluştuğunda, fonksiyon -1 döndürür. Hatayı tanımlayan bir string $phperrmsg' a konacaktır ve fonksiyon @mysql() olarak çağırılmazsa bu hata string' i aynı zamanda yazdırılacaktır.
Aşağı doğru uygunluk için mysql_listfields() da kullanılabilir.
mysql_list_dbs
MySQL sunucuda uygun olan veritabanlarını listeler
Kullanımı
int mysql_list_dbs(int [link_identifier] );
mysql_list_dbs(), o anki mysql daemon' da uygun olan veritabanlarını içeren bir sonuç pointer' ı döndürecektir. Bu sonuç pointer' ını dolaşmak için mysql_tablename() fonksiyonu kullanılır.
Aşağı doğru uygunluk için mysql_listdbs() de kullanılabilir.
mysql_list_tables
Bir MySQL veritabanındaki tabloları listeler
Kullanımı
int mysql_list_tables(string database, int [link_identifier] );
mysql_list_tables(), bir veritabanı ismi alır ve mysql_db_query() fonksiyonundakine çok benzer olarak bir sonuç pointer' ı döndürür. mysql_tablename() fonksiyonu, sonuç pointer' daki gerçek tablo isimlerini açmak için kullanılmalıdır.
Aşağı doğru uygunluk için mysql_listtables() da kullanılabilir.
mysql_num_fields
Sonuçtaki sahaların sayısını verir.
Kullanımı
int mysql_num_fields(int result);
mysql_num_fields(), bir sonuç kümesindeki sahaların sayısını döndürür.
Bkz. mysql_db_query(), mysql_query(), mysql_fetch_field(), mysql_num_rows().
Aşağı doğru uygunluk için mysql_numfields() da kullanılabilir.
mysql_num_rows
Sonuçtaki satırların sayısını listeler.
Kullanımı
int mysql_num_rows(int result);
mysql_num_rows(), bir sonuç kümesindeki satırların sayısını döndürür.
Bkz. mysql_db_query(), mysql_query() ve mysql_fetch_row().
Aşağı doğru uygunluk için mysql_numrows() da kullanılabilir.
mysql_pconnect
Bir MySQL sunucuya sürekli bir bağlantı açar.
Kullanımı
int mysql_pconnect(string [hostname [ort] [:/path/to/socket] ] , string [username] , string [password] );
Başarı durumunda pozitif bir MySQL link tanımlayıcı veya hata durumunda false değeri döndürür.
mysql_pconnect(), bir MySQL sunucuya bir bağlantı kurar. Tüm değişkenler seçimlidir ve eğer bunlar olmazsa, varsayılanları kabul edilir ('localhost', sunucu process' in sahibi olan kullanıcının kullanıcı ismi, boş password).
Hostname string' i, bir port numarası da içerebilir. Ör. "hostnameort" veya bir sokete bir path Ör. localhost için ":/path/to/socket"
Not: "ort" için destek 3.0B4'de eklendi. ":/path/to/socket" için destek 3.0.10'de eklendi.
mysql_pconnect(), mysql_connect()' e çok benzer. Ancak iki temel farkı vardır.
İlk olarak, bağlanıldığında, fonksiyon aynı host, username ve password ile açık bir link arayacaktır. Eğer bir tane bulunursa, onun için, yeni bir bağlantı açmak yerine, bir tanımlayıcı dönecektir.
Diğer fark; SQL sunucuya olan bağlantı, betimin çalışması bittiğinde kapatılmayacaktır. Bunun yerine, link gelecekteki kullanımlar için açık kalacaktır. (mysql_close(), mysql_pconnect() tarafından kurulan linki kapatmayacaktır).
Bu nedenle bu tür linkler 'persistent (sürekli)' olarak geçer.
mysql_query
MySQL' e bir SQL sorgusu gönderir
Kullanımı
int mysql_query(string query, int [link_identifier] );
mysql_query(), sunucudaki o an aktif olan ve belirtilen link tanımlayıcı ile ilişkili olan veritabanına bir sorgu gönderir. Eğer link_identifier belirtilmemişse, son açılan link kabul edilir. Hiçbir link açık değilse, fonksiyon, mysql_connect() değişkensiz çağırılmış gibi bir link kurmaya çalışır ve onu kullanır.
Sorgu string' i bir noktalı virgül ile bitmemelidir.
mysql_query(), sorgunun başarılı olup olmamasına göre TRUE (non-zero) veya FALSE döndürür. TRUE dönüş değeri sorgunun yasal olduğunu ve sunucu tarafından çalıştırılabileceğini gösterir.Etkilenen ya da geri dönen satır sayısı hakkında hiçbir şey içermez. Bir sorgu, hiçbir satırı etkilemediği veya hiçbir satır döndürmediği halde başarılı olabilir.
Aşağıdaki sorgu syntactic olarak geçersizdir. Bu nedenle mysql_query() başarısız olur ve FALSE döndürür:
Örnek: mysql_query()
1
2 <?php
3 $result = mysql_query ("SELECT * WHERE 1=1")
4 or die ("Invalid query");
5 ?>
6
Aşağıdaki sorgu, eğer my_col my_tbl tablosunda bir sütun değilse, semantik olarak geçersizdir. Bu nedenle mysql_query() geçersizdir ve FALSE döndürür:
Örnek: mysql_query()
1
2 <?php
3 $result = mysql_query ("SELECT my_col FROM my_tbl")
4 or die ("Invalid query");
5 ?>
6
Eğer sorgunun ilişkili olduğu tablolara erişim izniniz yoksa, mysql_query() başarısız olacaktır ve FALSE döndürecektir.
Sorgunun başarılı olduğu varsayılırsa, kaç tane satırın etkilendiğini bulmak için mysql_affected_rows() çağırılabilir. (DELETE, INSERT, REPLACE, veya UPDATE işlemleri için). SELECT işlemleri için, mysql_query(), mysql_result()' a geçirebileceğiniz yeni bir sonuç tanımlayıcı döndürür. Sonuç kümesiyle yaptığınızda, mysql_free_result()' un çağırılmasıyla ilişkilendirilmiş kaynakları boşaltabilirsiniz.
Bkz. mysql_affected_rows(), mysql_db_query(), mysql_free_result(), mysql_result(), mysql_select_db(), ve mysql_connect().
mysql_result
Sonuç veriyi getirir.
Kullanımı
int mysql_result(int result, int row, mixed [field] );
mysql_result(), bir MySQL sonuç kümesinden bir hücrenin içeriğini döndürür. Saha değişkeni, sahanın ofseti, sahanın ismi veya sahanın tablosu nokta sahanın ismi olabilir (SahaIsmi.TabloIsmi). Eğer sütun ismi alias' lanmışsa ('select foo as bar from...'), sütun ismi yerine alias kullanılır.
Büyük sonuç kümeleri üzerinde çalışıldığında, tüm satırı getirecek fonksiyonlardan biri kullanılmalıdır (aşağıda belirtildiği gibi). Bir fonksiyon çağrımında bu fonksiyonlar birden çok hücrenin içeriğini döndüreceğinden, bunlar, mysql_result()' tan çok daha hızlı olacaktır. Ayrıca, saha değişkeni için sayısal bir değer belirlemenin, bir saha ismi veya SahaIsmi.TabloIsmi değişkeni belirlemeden daha hızlı olduğu unutulmamalıdır.
mysql_result()' ı çağırma, sonuç kümesiyle ilgilenen diğer fonksiyonların çağırılmasıyla karıştırılmamalıdır.
Tavsiye edilen yüksek performanslı alternatifler: mysql_fetch_row(), mysql_fetch_array(), ve mysql_fetch_object().
mysql_select_db
MySQL veritabanı seçer
Kullanımı
int mysql_select_db(string database_name, int [link_identifier] );
Başarı durumunda true, hata durumunda false döner.
mysql_select_db(), sunucudaki belirtilen link tanımlayıcı ile ilişkili olan o anki aktif veritabanını set eder. Eğer hiçbir link tanımlayıcı belirlenmemişse, son açılan link kabul edilir. Hiçbir link açık değilse, fonksiyon mysql_connect() çağırılmış gibi bir link kurmaya ve bunu kullanmaya çalışacaktır.
mysql_query()'e sonradan gelen her çağrım, aktif veritabanı üzerinde yapılacaktır.
Bkz. mysql_connect(), mysql_pconnect(), ve mysql_query().
Aşağı doğru uygunluk için mysql_selectdb() de kullanılabilir.
mysql_tablename
Sahanın tablo ismini getirir
Kullanımı
string mysql_tablename(int result, int i);
mysql_tablename(), hem mysql_list_tables() tarafından döndürülen bir sonuç pointer' ını hem de bir integer indeksi alır ve bir tablo ismi döndürür. mysql_num_rows() fonksiyonu, sonuç pointer' daki tablo sayısını belirlemede kullanılabilir.
Örnek: Mysql_tablename() örneği
1
2 <?php
3 mysql_connect ("localhost:3306");
4 $result = mysql_list_tables ("wisconsin");
5 $i = 0;
6 while ($i < mysql_num_rows ($result)) {
7 $tb_names[$i] = mysql_tablename ($result, $i);
8 echo $tb_names[$i] . "<BR>";
9 $i++;
10 }
11 ?>
12
ALINTI.