2017-07-07 5 views
-4

私はPhp 5とMysql 5のページカウンタスクリプトを書いています。 「visitorid」というIDを持つ学生がID「pageid」(両方ともint(11))のページを訪問すると、ページカウンタは「訪問者」データベースに訪問を記録しようとします。しかし、カウンタはmysql dbで更新されず、代わりにvisit_counter int(4)が0に変わります。私のコードで間違っていますか?訪問日はdatetimeです。私のPHP mysqlカウンタスクリプトのコードで何が間違っていますか?

<?php 
$pageid = 101; 
$visitorid = 234; 

    $sql = "SELECT * FROM visitors 
         WHERE pageid = ".$pageid." 
         AND visitorid = ".$visitorid; 

$temp = mysql_query($sql) or die("Error 1.<br>".mysql_error()); 
$data = mysql_fetch_array($temp); 

// visit_counter is a field in table 
if(($data['visit_counter']) != NULL){ 
echo "Entery exists <br>"; 
// Tried below version also 
$visit = " SET visit_counter = visit_counter+1"; 

//$visit_counter = $data['visit_counter']; 
//$visit = " SET visit_counter = ".$visit_counter++ ; 

// Valid SQL 
// UPDATE `visitors` 
//  SET visit_counter = visit_counter+1 
//  WHERE pageid = 101 and visitorid=234 
// This manual sql query updates in phpmyadmin 

$sql = "UPDATE visitors ".$visit." 
      AND visitdate = NOW() 
      WHERE pageid = ".$pageid." 
      AND visitorid = ".$visitorid; 

$temp = mysql_query($sql) or die("ERROR 3.<br>".mysql_error()); 
//No error is displayed on above query. 

} else { 
//first entry 
$visit_count = "1"; 
$sql = "INSERT INTO visitors 
      (`pageid`,`visitorid`, `visitdate`, `visit_counter`)  
    VALUES ('".$pageid."','".$visitorid."', NOW(), '".$visit_count."')"; 
$temp = mysql_query($sql); 
//first entry is inserted successfully 
//and visit_counter shows 1 as entry. 
} 
?> 

誰でもこのコードで何が間違っていると言うことができますか?

答えて

0

ああ!私は自分で答えを得た。時々ちょっとしたエラーが私たちを夢中にさせてくれます。 私はudateクエリで間違いを犯しました。代わりにカンマを使うべきでした。 ..今はうまくいきます!

関連する問題