查询不像其他人一样工作

时间:2011-07-07 18:03:47

标签: php mysql

我为我的生活无法弄清楚为什么当我试图回应时它不输出0。它适用于上一个查询,但不适用于最后一个查询。

// This one works and if there are no movies above 0 then it outpus 0 fine
$tag_movies_result = mysql_query("SELECT * FROM tags WHERE tagname='$n' AND movie > 0");
$total_times_used_movies = mysql_num_rows($tag_movies_result);

// Where as this query returns an error 
$tag_shows_result = mysql_query("SELECT * FROM tags WHERE tagname='$n' AND show > 0"); <-- `show`
$total_times_used_shows = mysql_num_rows($tag_shows_result); <-- Line 12

// the error
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a5410474/public_html/tags/tag.php on line 12

这就是我用它来称呼它

<li><a href="#shows" rel="shows">Shows (<?php echo $total_times_used_shows; ?>)</a></li>

演示:http://mydb.host56.com/tags.php?n=the

列名称SHOWS需要包含在`中。主题已关闭。

4 个答案:

答案 0 :(得分:5)

SHOW是保留关键字 在show周围包裹波浪号(`),如下所示:

`show` 

Reference

答案 1 :(得分:1)

如果查询中存在错误,则mysql_query返回的值将为FALSE而不是资源。试试这个:

if(!$tag_show_result) {
 echo mysql_error();
}

这可以帮助您识别查询中的错误

答案 2 :(得分:0)

实际上,我看到问题可能是什么。在查询失败后,您仍应将echo mysql_error();添加到该行,但查询中存在错误。单词show是一个mysql保留字。 Show用于显示有关数据库的信息。你可以用这样的反引号包装它:

`show`

答案 3 :(得分:0)

您的查询中显然存在错误;找到它,你就可以解决问题了。

更重要的是,您应该检查mysql_query的结果是否为FALSE以确保查询成功,如果不成功,则使用mysql_error()输出错误。

相关问题