26. februar 2009 - 15:33
Der er
5 kommentarer og
1 løsning
resultat fra database?
Hej,
jeg vil gerne høre fra nogle af de kloge hoveder her inde.
Gør det nogen forskal at bruge 1 istedet for 2?
1:
$foresp = mysql_query("SELECT brugernavn FROM users WHERE id='$id'") or die(mysql_error());
$resultat = mysql_fetch_array($foresp);
if ($resultat['brugernavn'] == "la") {
echo"la";
2:
$foresp = mysql_query("SELECT brugernavn FROM users WHERE id='$id'") or die(mysql_error());
if ($mysql_result($foresp, 0, brugernavn) == "la") {
echo"la";
}
26. februar 2009 - 16:13
#1
Uden at være mysql ekspert, vil jeg gætte på nummer 2 er hurtigst.
Dog bør du nok tilføje LIMIT 1 i din SQL, ala:
SELECT brugernavn FROM users WHERE id='$id' LIMIT 1
26. februar 2009 - 16:20
#2
Du kunne lave en test ala dette på din server/webhotel:
<?php
//http://www.eksperten.dk/spm/865602
mysql_connect();
mysql_select_db('test');
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
for($i = 0; $i < 10000; $i++){
$res = mysql_query("SELECT produkt FROM du_vaelger WHERE id = 2 LIMIT 1");
$val = mysql_result($res,0);
}
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
printf('<br />Mysql_result loaded in %.3f seconds.', $totaltime);
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
for($i = 0; $i < 10000; $i++){
$res = mysql_query("SELECT produkt FROM du_vaelger WHERE id = 2 LIMIT 1");
$row = mysql_fetch_assoc($res);
$val = $row['produkt'];
}
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
printf('<br />Mysql_fetch_assoc loaded in %.3f seconds.', $totaltime);
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
for($i = 0; $i < 10000; $i++){
$res = mysql_query("SELECT produkt FROM du_vaelger WHERE id = 2 LIMIT 1");
$row = mysql_fetch_array($res);
$val = $row[0];
}
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
printf('<br />Mysql_fetch_arra loaded in %.3f seconds.', $totaltime);
$starttime = explode(' ', microtime());
$starttime = $starttime[1] + $starttime[0];
for($i = 0; $i < 10000; $i++){
$res = mysql_query("SELECT produkt FROM du_vaelger WHERE id = 2 LIMIT 1");
$row = mysql_fetch_object($res);
$val = $row->produkt;
}
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
printf('<br />Mysql_fetch_object loaded in %.3f seconds.', $totaltime);
?>