php mysql 命令不返回任何内容

标签 php mysql html

我正在尝试设置应用程序可用性报告,我有一个包含应用程序名称和数字的数组。我正在浏览列表并找到每个问题的持续时间并将其保存到相应的数组中,然后对其进行计算。我尝试将其打印到 table 上,但没有骰子。我的测试 echo 和 for 循环仍然在那里,我得到了一个应用程序数组打印出来,但在 while 内部,look 没有执行,我无法查明原因。感谢您的帮助,我可以回答相关问题。我将在底部放置一个月/年表单输入,并使用一个提交按钮来调用同一页面。

<?php
                $applist = array('default1','default2','default3');
                $numofapps = 3;
                $i=0;
                $downtime;
                if($_POST['submitted']==1)
                {
                    $month = $_POST['startmonth'];
                }   
                else {
                    $month = date("m");
                }
                echo "<br />";

                switch ($month){
                    case 01:
                    case 03:
                    case 05:
                    case 07:
                    case 08:
                    case 10:
                    case 12:
                        $totaltime = 31 * 1440;
                        break;
                    case 04:
                    case 06:
                    case 09:
                    case 11:
                        $totaltime = 30 * 1440.0;
                        break;
                    case 02:
                        $year = $_POST['startyear'];
                        if(($year%4)==0)
                        {
                            $totaltime = 29 * 1440.0;
                        }
                        else {
                            $totaltime = 28 * 1440.0;
                        }
                        break;

                }
                echo "<br />";
                while($numofapps > $i)
                {
                    $query="Select `duration` from `issuetrack` WHERE `app`='" . $applist[$i] . "'";
                    $result=mysql_query($query);

                    while($row = mysql_fetch_array($result))
                    {
                        echo $downtime[$i];
                        echo "TEST downtime <br />";
                        echo $row[$i];
                        echo "ETST DURATION <br />";
                        $downtime[$i]+=$row['duration'];
                    }
                    $appavail[$i]=($downtime[$i] / $totaltime) * 100;

                    $i++;                   

                    echo "<br />";
                }
                $j=0;
                echo "<table border ='1'>";
                        echo "<tr><th>Application Affected</th><th>Application Availability</th>";

                        while ($numofapps > $j)
                        {
                            echo "<tr><td>";
                            echo $applist[$i];
                            echo "</td><td>";
                            echo $appavail[$i];
                            echo "</td></tr>";
                        }
                        echo "</table>";



            ?>

最佳答案

检查 $result 变量,例如,

if($result)
 echo "1";
else
 echo mysql_error();

即使你没有任何数据,如果你的查询是正确的,那么它会打印 1,否则它会打印错误(如果有)。

还要检查您的 mysql_connection 以找出您是否已连接到数据库,如下所示:

mysql_connect('localhost','username','password') or die (mysql_error());

关于php mysql 命令不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8222542/

相关文章:

php - 优化插入数百万条记录、MySQL 和 PHP

php - 是什么让 PHP 比 Java 或 C# 慢?

php - SQL 调用 - 这是正确的吗?

php - 找不到 autoload.php

php - laravel中如何通过列值获取列名称

mysql - 如何计算与 MySQL 中另一列中的特定行关联的唯一值?

php - 由于 IN 子句,Mysql 查询变慢。任何可能的选择?

javascript - 如何绘制弯曲的 svg 路径

html - HTML5 localStorage 是否跨浏览器实例持续存在?

javascript - 设置 SVG 路径中对象的位置