执行while循环从数据库中获取记录时出错

时间:2013-09-12 07:17:07

标签: php mysql

我在php中执行while循环时出错。实际上在PHP代码中我试图从数据库中获取记录,我在代码的开头建立连接。在代码中我的外部循环执行良好但内部循环只执行一次并终止。然后我尝试再次建立mysql连接循环然后它执行。如果我评论它不能很好。告诉我运行while循环需要再次建立连接或有另一种方法来解决问题。

这是我的代码:

$con    = mysqli_connect("localhost", "root", "root", "scheduler");
$sql    = "select * from jobschedule";
$result = mysqli_query($con,$sql);
$sql2   = "SET GLOBAL event_scheduler = 1";

mysqli_query($con,$sql2);
while($row = mysqli_fetch_array($result))
{
    // $con = mysqli_connect("localhost", "root", "root", "scheduler");

    $dbname  = $row['DBName'];
    $jobname = $row['JobName'];

    $sql1    = "call $dbname.$jobname";
    $result1 = mysqli_query($con,$sql1);

    while($row1 = mysqli_fetch_array($result1))
    {
        echo '<tr>';
           . '<td>' . $row1['Name'] . '</td>';
           . '<td>' . $row1['CountryCode'] . '</td>'
           . '<td>' . $row1['District'] . '</td>'
           . '<td>' . $row1['Population'] . '</td>'
           . '</tr>';
        }    
    }

2 个答案:

答案 0 :(得分:1)

试试这个

//Connection
$con = mysqli_connect("localhost", "root", "root", "dbname") or die("Error " . mysqli_error($con));

//Query 

$query = "SELECT * FROM tablename" ;

//execute the query.

$result = $con->query($query) or die("Error in the Query.." . mysqli_error($con));

//display information:

while($row = mysqli_fetch_array($result)) {
  echo $row["field_name"] . "<br>";
} 

答案 1 :(得分:0)

您正尝试使用键

访问常规数组值
    $dbname = $row['DBName'];
    $jobname = $row['JobName'];

要执行此操作,您必须具有关联数组。尝试更改

$row = mysqli_fetch_array

$row = mysqli_fetch_assoc