MySql, kak dobiti id ?
3 naročniki
3 naročniki
Tako, iamm naslednji problem ...
if(isset($_SESSION['OBISK']) && $_SESSION['OBISK'] != 3)
{
$_SESSION['OBISK'] = 2;
$podatki = mysql_query("SELECT * FROM `statistika_obiski` WHERE `ip` = '".$_SERVER['REMOTE_ADDR']."' ORDER BY `datum_prvic` DESC LIMIT 1;");
if (mysql_num_rows($podatki) == 1) { while ($podatek = mysql_fetch_array($podatki)) { mysql_query("UPDATE `statistika_obiski` SET `datum_zadnjic` = NOW(), `strani` = `strani` + 1, `id_uporabnik` = '".$_SESSION['uporabnik_id']."' WHERE `id` = '".$podatek["id"]."';"); } } else { $_SESSION['OBISK'] = 3; }
}
else
{
mysql_query("INSERT INTO `statistika_obiski` (`datum_prvic`, `datum_zadnjic`, `ip`) VALUES (NOW(), NOW(), '".$_SERVER['REMOTE_ADDR']."');");
if($_SESSION['OBISK'] != 3) { $_SESSION['OBISK'] = 1; } else { $_SESSION['OBISK'] = 2; }
}
ko obiskovalec pride prvič na stran se zgodi INSERT, ko drugič pa UPDATE, v mysql, problem je da ko nekaj vstavim, v bazo, ta prvi zapis, bi potreboval id sedaj ga dobim vendar ne na najlepši način, ...
pa me zanima če se da kako dobiti id
ki se vpiše v bazo ? Gre za ...
`id` bigint(20) unsigned NOT NULL auto_increment,
auto_increment, torej ko vstavljam, sploh ne dam podatka ...
Edit: bo mysqlinsertid() ok ? Kaj pa če je več zahtev na enkrat ?
6 odgovorov
Super :) sedaj še samo Query time :D, phpMyAdmin naj bi čas izvedenega SQL stavka določil takole :
list($usec, $sec) = explode(' ',microtime());
$querytime_before = ((float)$usec + (float)$sec);
// your query goes here
list($usec, $sec) = explode(' ',microtime());
$querytime_after = ((float)$usec + (float)$sec);
$querytime = $querytime_after - $querytime_before;
$strQueryTime = 'Query took %01.4f sec';
echo sprintf($strQueryTime, $querytime);
naj bi še bilo tole:
mysqlquery()
mysqlinfo()
vendar ne dobim časa ... v koliko časa se je izvedel stavek.
Za prikaz :D, recimo da vidim koliko časa porabi PHP za generiranje strani pa koliko MySql ...
čeprav glede na to staregate.com
[ Page generation time: 0.1858s ( PHP: 95% - SQL: 5% ) ] - [ SQL queries: 171 ]
menda pridobivanje podtkov iz MySql ni tak problem ... če namesto * selectaš samo kaj rabiš bi naj še neko malenkost pridobil na času :D.