2017-07-07 3 views
-4

Ich schreibe ein Php 5 und Mysql 5 Seitenzählerskript. Wenn ein Student mit der ID "visitorid" eine Seite mit der ID "peideid" (beide int (11)) besucht, versucht der Seitenzähler, den Besuch in der Besucherdatenbank zu protokollieren. Aber der Zähler wird nicht in mysql db aktualisiert, stattdessen wird der visit_counter int (4) auf 0 gesetzt. Was ist mit meinem Code falsch? visitdate ist datetime.Was ist falsch in meinem PHP-Mysql-Counter-Skript-Code?

<?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. 
} 
?> 

Kann jemand mir sagen, was mit diesem Code falsch ist?

Antwort

0

Oh! Ich habe selbst eine Antwort bekommen. Manchmal machen uns nur kleine Fehler verrückt .. Ich habe einen Fehler in der Abfrage von Udate gemacht .. anstatt zu verwenden und ich sollte Benutzer ein Komma stattdessen haben. .. funktioniert jetzt gut!