mysql_query() also returns a resource for "OPTIMIZE TABLE" statements!
(PHP 4, PHP 5)
mysql_free_result — Sonuç belleğini serbest bırakır
Bu eklentinin kullanımı PHP 5.5.0 itibariyle önerilmemekte olup PHP 7.0.0'da kaldırılmıştır. Bu eklentinin yerine ya mysqli ya da PDO_MySQL eklentisi kullanılmalıdır. MySQL API seçerken MySQL API'ye Bakış belgesi yardımcı olabilir. Bu işlevin yerine kullanılabilecekler:
null
değerini atar$sonuç
): bool
mysql_free_result() işlevi, sonuç
sonuç göstericisine ayrılan belleği serbest bırakır.
mysql_free_result()'ın sadece büyük sonuç kümeleri döndüren sorgularda kullanılan bellek miktarını önemsiyorsanız kullanılması gerekmektedir. Sonuç belleği, betiğin çalışması sona erdiğinde otomatik olarak serbest bırakılır.
sonuç
resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.
Başarı durumunda true
, başarısızlık durumunda false
döner.
Eğer belirtilen sonuç
bağımsız değişkeni
resource türünde değilse, E_WARNING seviyesinde bir hata
oluşacaktır. mysql_query() işlevinin SELECT, SHOW,
EXPLAIN ve DESCRIBE sorguları için resource türünde tek bir
sonuç döndürdüğünü bilmenizde yarar var.
Örnek 1 - mysql_free_result() örneği
<?php
$sonuç = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$sonuç) {
echo 'Sorgu çalıştırılamadı: ' . mysql_error();
exit;
}
/* Sonucu kullandıktan sonra onunla işimizin bittiğini varsayıyoruz */
$row = mysql_fetch_assoc($sonuç);
/* Şimdi sonucu serbest bırakıyoruz ve betiğimize devam ediyoruz */
mysql_free_result($sonuç);
echo $row['id'];
echo $row['email'];
?>
Bilginize:
Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_freeresult()
mysql_query() also returns a resource for "OPTIMIZE TABLE" statements!
yes this function may increase the memory usage if you use unbuffered querys and if you have not fetched all the data from mysql. in this case the mysql api has a problem: you want to free the result but do not want to close the connection. now mysql will only accept another query if all data has been fetched, so the api now must fetch the rest of the data when calling mysql_free_result().
so only use unbuffered querys if you fetch all the data (and need it).