0

我已将此 PHP 代码放在我的 index.php 页面的最顶部

<?php
session_start();
include 'includes/dbconnection.php';

$sql="INSERT into site_statistics (ipaddress, datetime, url) values ('".$_SERVER['REMOTE_ADDR']."', '".date("Y-m-d H:i:s")."', '".$_SERVER['PHP_SELF']."') ";
$rs=mysql_query($sql,$conn) or die(mysql_error());
?>

它可以插入数据库,但是当我刷新一次时,它似乎总是在表中放置多行

session_start(); 用于我的购物车,所以我无法删除它

4

2 回答 2

1

添加一个 varchar(32) 列,使其成为主键,并将会话 ID 插入其中。IE。

$sql="INSERT into site_statistics (sid, ipaddress, datetime, url) values ('" . session_id() . "', '".$_SERVER['REMOTE_ADDR']."', '".date("Y-m-d H:i:s")."', '".$_SERVER['PHP_SELF']."') ";

会话 ID 在该特定时间对访问者来说是唯一的,因此它作为主键将防止同一访问者在该特定访问中多次插入。

于 2013-03-14T12:48:17.490 回答
1

如果您需要在页面刷新时更新字段,请使用

REPLACE INTO

在您的 sql 查询中,但如果没有,您可以先使用检查数据库

if(...){
  ...
}

陈述。

于 2013-03-14T12:57:33.097 回答