【问题标题】:Whats wrong in my php mysql counter script code?我的 php mysql 计数器脚本代码有什么问题?
【发布时间】:2017-12-11 07:05:37
【问题描述】:

我正在编写一个 Php 5 和 Mysql 5 页面计数器脚本。当 id 为“visitorid”的学生访问 id 为“pageid”的页面(均为 int(11))时,页面计数器会尝试将访问记录在“visitors”数据库中。但是 mysql 数据库中的计数器没有更新,而是 visit_counter int(4) 变为 0。我的代码有什么问题? visitdate 是日期时间。

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

谁能告诉我这段代码有什么问题?

【问题讨论】:

    标签: php mysql counter


    【解决方案1】:

    哦!我自己得到了答案。有时只是小错误让我们发疯.. 我在 udate 查询中犯了一个错误。而不是使用,我应该让用户使用逗号。 .. 现在运行良好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-28
      相关资源
      最近更新 更多