我有一个由.htaccess进行URLRewrited的页面,它运行MySQL查询两次,尽管我放置了一次,没有循环没有任何东西。
的.htaccess
RewriteRule ^go/([a-zA-Z0-9-_]+)$ /go.php?id=$1&%{QUERY_STRING}
RewriteRule ^go/([a-zA-Z0-9-_]+)/([a-zA-Z0-9-_]+)$ /$2.php?id=$1%{QUERY_STRING}
go.php
<?php
$update = mysql_query('UPDATE table SET page_views=page_views+1 WHERE id =123');
?>
每次刷新页面时,都会向数据库添加2个页面视图,为什么会这样?
答案 0 :(得分:2)
是否还会生成调用该函数的RSS源?
之前我遇到过与Wordpress插件开发类似的问题。 Firefox会对RSS进行某种预取,这会导致2个请求。
修改:上述方法无效。你有xdebug吗?使用xdebug_get_function_stack查看要查询的路径。
答案 1 :(得分:2)
这是一个浏览器问题;)尝试使用IE,它不会运行两次。
如果您使用Firefox禁用所有插件。
答案 2 :(得分:0)
问题在于您的HTML提交脚本两次。以下示例为我工作
if($POST){
$update = mysql_query('UPDATE table SET page_views=page_views+1 WHERE id =123');
}
或者您可以使用GET进行验证。