rohini jadhav
rohini jadhav

Reputation: 33

Error in executing while loop for fetching records from database

I have an error in executing a while loop in php. actually in php code I tried to fetch records from database for that i establish connection at the beginning of code.In code my outer loop executed well but inner loop executed only one time and terminated.Then i tried to establish mysql connection once again within while loop then it executed.If i comment this it not work well.Tell me to run while loop there is need to establish connection once again or there is another way to solve problem.

Here is my code:

$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>';
        }    
    }

Upvotes: 1

Views: 178

Answers (2)

Reshil
Reshil

Reputation: 481

Try this

//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>";
} 

Upvotes: 1

Alex
Alex

Reputation: 1304

You are trying to acces normal array's values with keys

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

To do this you must have associative arrays. Try changing

$row = mysqli_fetch_array

to

$row = mysqli_fetch_assoc

Upvotes: 0

Related Questions