繁体   English   中英

PHP / MYSQL在动态页面上达到目标

[英]PHP/MYSQL hits counter on dynamic page

我一直在尝试在动态页面上编写php / mysql计数器,但似乎无法正常工作。 到目前为止,这是代码。

while{  
$incre=+1;
$update=$db->prepare("UPDATE hits=hits+1 WHERE id="$sid"");
$data=array($incre,$sid);
$update->execute($data);

$db->prepare("INSERT INTO thread (hits) VALUES (1) ON DUPLICATE KEY UPDATE hits=hit+1`");

if($count==null)
    {echo "<p style='text-align:center; clear:both; color:black; font-size:95%;'>Total visits: 0</p>";}
else
    {echo "<p style='text-align:center; clear:both; color:black; font-size:95%;'>Total visits: <b style='color:red;'>".$count."</b></p>";}
} 

因此,您的代码存在很多问题。 您没有以安全的方式设置sql更新语句(sql注入)。 然后,您将无法正确调用它(应始终使用命名参数)。 然后,您的insert语句将永远不会被调用。 您也永远不会从数据库获得点击数来显示。 发生了很多奇怪的事情。

$update = $db->prepare("INSERT INTO thread (id, hits) VALUES (:id, 1) ON DUPLICATE KEY UPDATE hits=hits+1");
$update->execute(array(':id' => $sid));

$query = $db->prepare("SELECT hits FROM thread WHERE id=:id");
$query->execute(array(':id' => $sid));
$counter = $query->fetchColumn(0);

echo "<p style='text-align:center; clear:both; color:black; font-size:95%;'>Total visits: <b style='color:red;'>".$counter."</b></p>";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM