CakeFest 2024: The Official CakePHP Conference

mysql_free_result

(PHP 4, PHP 5)

mysql_free_resultSonuç belleğini serbest bırakır

Uyarı

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:

Açıklama

mysql_free_result(resource $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.

Bağımsız Değişkenler

sonuç

resource türünde sorgu sonucu. Bu sonuç bir mysql_query() çağrısının sonucudur.

Dönen Değerler

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.

Örnekler

Ö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'];
?>

Notlar

Bilginize:

Geriye uyumluluk adına, kullanımı önerilmese de şu takma ad kullanılabilir: mysql_freeresult()

Ayrıca Bakınız

add a note

User Contributed Notes 3 notes

up
15
webmaster at bluesting dot co dot za
13 years ago
mysql_query() also returns a resource for "OPTIMIZE TABLE" statements!
up
16
admin at ifyouwantblood dot de
16 years ago
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).
up
-36
Anonymous
17 years ago
If you're seeing warnings like "Warning: Unknown: 6 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0" and want to turn them off, set mysql.trace_mode = Off in your php.ini
To Top