我是新来的。所以,对我宽容一些。我有一个名为“数据”的表,其中一列是以 YYYY-MM-DD 格式存储的“日期”。这是我一直在研究的代码。基本上,我想要做的是比较表中存储的两个日期是否相等。但是,每次运行代码时,我都会收到错误:代码 $lisdate[$i+1] 处的未定义偏移量。如何比较表中存储的日期?谢谢。
我的代码
$sth2 = mysql_query("SELECT * FROM data WHERE dest_name='www.myren.net.my'");
while($rowstemp = mysql_fetch_assoc($sth2))
{
$lisdate[] = $rowstemp['date'];
$lisaverage[] = $rowstemp['avg_rtt'];
}
$rows = mysql_num_rows($sth2);
$addAverage[0] = $lisaverage[0];
$numbers = 0;
$j = 0;
for($i = 0; $i<$rows; $i++)
{
if($lisdate[$i] == $lisdate[$i+1])
{
$addAverage[$j] = $addAverage[$j] + $lisaverage[$i+1];
}
else
{
$j++;
$numbers = $numbers +1;
}
}
最佳答案
戈登说得对。您的 for 循环超出了数组的末尾,因为您正在处理连续的行对。将其更改为 ; $i < $rows - 1;
来纠正这个问题。
但是,你还有另一个问题。结果集中的 SQL 行具有不可预测的顺序,除非您的查询包含 ORDER BY 子句。如果这些行(没有该子句)按 date
升序显示,真是运气不好。放ORDER BY date
在您的查询中。
关于mysql - 比较数据库表中的两个日期是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30413355/