while($row = mysql_fetch_array...

  • Автор Автор misho
  • Начална дата Начална дата

misho

Registered
Отдавна се чудя, това ли е най-удачният начин за идвеждане на резултатите от дадена заявка? Така съм го видял и така съм го научил, макар и още да не мога да разбера как това работи. :lol:
Код:
$query= mysql_query("****") or die(mysql_error());

while($row = mysql_fetch_array($query))
 {
   // Нещо ;)
 }
 
Изпълнява се цикъла докато mysql_fetch_array не върне 0 (тоест докато има резултати). Единственото по-удачно, което можеш да промениш е да ползваш mysql_fetch_assoc защото е по-бърза функция (освен ако изрично не ти трябва масива да е като този връщан от mysql_fetch_array).
Има малка разлика в функциите mysql_fetch_***, може да се поразровиш из форума или в php.net за повече информация за тях.. :)
 
Разбира се, че е възможно и с for.Сега кое е по-бързо не мога да кажа, не съм правил тестове.. :)
 
Благодаря! :?:
А къде точно мога да видя коя функция колко е бърза и има ли някакви конкретни стойности (секунди)?
 
Само няколко забележки, който трябва да знаеш за mysql_fetch_assoc - която аз ти препоръчвам.

1. Имената на полетата, връщани от тази функция, са чувствителни към регистъра.
2. Тази функция установява NULL полетата със стойността 0, в PHP.
 
misho каза:
Благодаря! :?:
А къде точно мога да видя коя функция колко е бърза и има ли някакви конкретни стойности (секунди)?


$start_time = microtime(true);
//php код
$end_time = microtime(true);
$used_time = $end_time - $start_time;
echo "Кода беше изпълнен за $user_time секунди.";

:)
 

Back
Горе