我最近制作了一个自定义网址缩短脚本,但我一直遇到问题。它使用此脚本跟踪URL的点击次数:
<?php
function curPageName() {
return substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);
}
$pagenam = $_SERVER["SCRIPT_NAME"];
$moo = pathinfo($pagenam,PATHINFO_DIRNAME);
$wof = str_ireplace("/urls/","",$moo);
$woof = str_ireplace("/","",$wof);
include("../../connect.php");
$statement = $db->prepare("SELECT clicks FROM url WHERE refer = '$woof'");
$statement->execute();
$result = $statement->fetchObject();
$clicks = $result->clicks;
$clicks++;
$statement = $db->prepare("UPDATE url SET clicks = '$clicks', date = NOW() WHERE refer = '$woof'");
$statement->execute();
?>
但是,每当点击一个URL时,我都会收到错误:
致命错误:调用成员函数 对非对象的执行() /home/kgoco/public_html/ping.php上 第18行
非常感谢任何帮助。您可以在http://kgo.co看到该网站的运行情况 - 提前感谢您。
答案 0 :(得分:0)
您的错误告诉您,如果execute()
不是对象,则无法致电$statement
。
如果$statement
不是对象,则代码的这一部分将返回FALSE
:
$statement = $db->prepare("SELECT clicks FROM url WHERE refer = '$woof'");
,
因此,在此行之后,您应键入以下内容:
var_dump($statement);
,
看看实际返回的是什么。