本帖最后由 miehunyou 于 2011-05-27 14:19:45 编辑

解决方案 »

  1.   

    SELECT rpt_date FROM RptGuestHourly WHERE rpt_date='$Date'
    估计你这条语句就有问题 '$Date'
      

  2.   

    $result = mysql_query("SELECT rpt_date FROM RptGuestHourly WHERE rpt_date='$Date'");//检查日期
    if(!$result){//没有日期的话就输入全部资料
    die('111');//在这里中断一下看看是否进入了这个流程
         $sql="INSERT INTO RptGuestHourly (rpt_date,rpt_time,post_cnt,view_cnt)
             VALUES ('$Date','$Time','$post','$view')";
         if (!mysql_query($sql,$con)){
             die('Error: ' . mysql_error()."<br>");
         }else{
             echo "Data insert complete.";
         }
    }else{//有了日期就检查时间
    //上边使用$result请求了一次结果没有关闭,这里你再次使用它开启吗?
    $result=null;die('222');//在这里中断一下看看是否进入了这个流程
        $result = mysql_query("SELECT rpt_date FROM RptGuestHourly WHERE rpt_time='$Time'");
        if(!$result){//没有这个钟点,输入钟点与资料
            $sql="INSERT INTO RptGuestHourly (rpt_time,post_cnt,view_cnt) 
                VALUES ('$Time','$post','$view')";
            if (!mysql_query($sql,$con)){
                die('Error: ' . mysql_error()."<br>");
            }else{
                echo "Data insert complete.";
            }
        }else{//有钟点就按照那个钟点post+1
    die('333');//在这里中断一下看看是否进入了这个流程
            $sql="UPDATE RptGuestHourly SET post_cnt=post_cnt+1
                WHERE rpt_time='$Time'";
            if (!mysql_query($sql,$con)){
                die('Error: ' . mysql_error()."<br>");
            }else{
                echo "Data insert complete.";
            }
        } 
    }我给你加了几个断点,你看看他进入了哪个流程,然后你再针对那个流程做断点跟踪就知道问题在哪里了
      

  3.   

    继续设断点继续找
       $result = mysql_query("SELECT rpt_date FROM RptGuestHourly WHERE rpt_time='$Time'");
        if(!$result){//没有这个钟点,输入钟点与资料
    echo "aaa";//第一个
            $sql="INSERT INTO RptGuestHourly (rpt_time,post_cnt,view_cnt) 
                VALUES ('$Time','$post','$view')";echo "bbb";//第二个
    die();
            if (!mysql_query($sql,$con)){
                die('Error: ' . mysql_error()."<br>");
            }else{
                echo "Data insert complete.";
            }
        }else{//有钟点就按照那个钟点post+1
      

  4.   

    之前的断点要删除吗?删除的话就无视我得断点直接跳页(其他资料输入完成,虽然这个table还是没东西)
    不删除的话就只是出现222,其他断点没出现。
      

  5.   

    你这样试试
    $result = mysql_query("SELECT rpt_date FROM RptGuestHourly WHERE rpt_date='$Date'");//检查日期
    if(!$result){//没有日期的话就输入全部资料
         $sql="INSERT INTO RptGuestHourly (rpt_date,rpt_time,post_cnt,view_cnt)
             VALUES ('$Date','$Time','$post','$view')";
         if (!mysql_query($sql,$con)){
             die('Error: ' . mysql_error()."<br>");
         }else{
             echo "Data insert complete.";
         }
    }else{//有了日期就检查时间
    $result=null;
        $result = mysql_query("SELECT rpt_date FROM RptGuestHourly WHERE rpt_time='$Time'");
        if(!$result){//没有这个钟点,输入钟点与资料
            $sql="INSERT INTO RptGuestHourly (rpt_time,post_cnt,view_cnt) VALUES ('$Time','$post','$view')";
            if (!mysql_query($sql,$con)){
    die('111');//在这里中断一下看看是否进入了这个流程
                die('Error: ' . mysql_error()."<br>");
            }else{
    die('222');//在这里中断一下看看是否进入了这个流程
                echo "Data insert complete.";
            }
        }else{//有钟点就按照那个钟点post+1
            $sql="UPDATE RptGuestHourly SET post_cnt=post_cnt+1
                WHERE rpt_time='$Time'";
            if (!mysql_query($sql,$con)){
                die('Error: ' . mysql_error()."<br>");
            }else{
                echo "Data insert complete.";
            }
        } 
    }
      

  6.   

    跟你说过了,你的问题只需 repelace
      

  7.   

    被无视了。出现了333
    }else{//有钟点就按照那个钟点post+1
     die('333');//在这里中断一下看看是否进入了这个流程
            $sql="UPDATE RptGuestHourly SET post_cnt=post_cnt+1
      

  8.   

    对不起
    唠叨兄,replace一个覆盖了一个...不就看不到之前的了吗?
      

  9.   

    我输出发现,就算我的database是空的。它都没insert,就update了...
      

  10.   

    $result = mysql_query("SELECT rpt_date FROM RptGuestHourly WHERE rpt_date='$Date'");//检查日期
    if(!$result){//没有日期的话就输入全部资料
    这个分支不可能进入,除非sql指令是错误的
    无论是否查到了结果,$result 都为真(一个资源号)
    你需要用 mysql_num_rows($result) == 0 来判断“未找到”
      

  11.   

    也就是说
    if(mysql_num_rows($result) == 0)
    $sql=insert....这样吗?唠叨兄?