无法跳转到第8行的... / tag.php中的MySQL结果索引6上的第0行

时间:2013-08-06 19:34:51

标签: php mysql caching

我正在使用用于观看视频的PHP脚本。最近2-3天关于我同时有1k在线人员,现在我随机时间得到内部服务器错误。当我的网站访问量减少时我有从未见过这个错误。

<?php
include('config.php');
if($site[cache]>=3)
include('cache.head.php');
$tsef=htmlspecialchars($_GET[sef]);
$query=mysql_query("SELECT tag FROM tags WHERE sef='$tsef' LIMIT 1");
@mysql_query("UPDATE tags SET views=views+1 WHERE sef='$tsef'");
**$tag=mysql_result($query,0);**
$tkeywords=explode(' ',$tag);
?>

我认为我需要一些缓存机制,因为我看到我的网络托管服务上的进程限制接近最大。但我不知道热门工具。

1 个答案:

答案 0 :(得分:0)

此错误表示您的查询未返回任何行;你无法从无到有读的专栏。没有与URL中的“sef”值匹配的标记。我认为这与您的服务器负载问题无关。

让我们稍微清理一下:

include('config.php');
if ($site[cache] >= 3)
    include('cache.head.php');

$tsef = mysql_real_escape_string(htmlspecialchars($_GET['sef']));
$result = mysql_query("SELECT tag FROM tags WHERE sef='$tsef' LIMIT 1");

$tkeywords = array();
if ($result && mysql_num_rows($result) > 0) {
    $tag = msyql_result($result, 0);
    $tkeywords = explode(' ', $tag);
    mysql_query("UPDATE tags SET views=views+1 WHERE sef='$tsef'"); 
}