我有一个带有日历表的数据库(每行代表一天),有4年的行(2012年,2013年,2014年,2015年)。我今年使用了名称calyear。
我使用以下代码查找不同年份的值,然后显示它:
$year = mysql_query("SELECT DISTINCT calyear FROM calendar");
while($yeararray = mysql_fetch_array($year))
{
echo($yeararray['calyear']."<br />");
}
问题是它只显示2013年,2014年,2015年,即使我使用
echo(mysql_num_rows($year);
它显示值4,我认为这意味着所有4年都存在。我不太确定我在哪里出错了。
的 的 * 修改的 *
感谢你的建议,但我发现了问题,这是我自己的愚蠢。
我在页面顶部进行了$year
查询,稍后进行了While循环(我需要它)。我之前将$yeararray = mysql_fetch_array($year)
直接放在$year
下面,所以我在页面上有两次,当我删除顶部的冗余代码时,代码工作正常。
谢谢,抱歉!
答案 0 :(得分:1)
也许第四个值是空值或空白,当你回显它时,你根本看不到它。
执行desc calendar
并找出为calyear列设置的默认值。
然后执行select count(*) from calendar where calyear is null
或select count(*) from calendar where calyear = <whatever the default you've set>
,看看它是否为空白或空值。