Link to home
Start Free TrialLog in
Avatar of infodigger
infodigger

asked on

Problem with sqlite database

Hello,

I am having a problem with the following code. While it executes ok and extremely fast, when the output is displayed, the browser still shows that something is loading for 2-3 seconds. I've tried it with both Firefox and Chrome and get the same results -> Immediate page execution and display of the contents but then waiting time for nothing to happen.

Any ideas?

Thanks a lot!

$file_db = new PDO('sqlite:sqlite/mydatabase.sqlite3');
echo "<table>";
$result = $file_db->query('SELECT * FROM hotels where longitude > 5 and latitude>43');
    foreach($result as $row)
    {
        echo "<tr><td>".$row['id']."</td>";
        echo "<td>".$row['name']."</td>";
        echo "<td>".$row['latitude']."</td>";
        echo "<td>".$row['longitude']."</td></tr>";
    }
    echo "</table>";
      
    //close the database connection
    unset($file_db);

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of Member_2_248744
Member_2_248744
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of infodigger
infodigger

ASKER

Hi Slick812,

I tried to remove the unset and still I am having the same problem. I even added a few <br /> to the end of the page to see if they load and they do load but it looks like the page is still loading for some reason for an extra 2-3 seconds. It's driving me crazy:)
OK, I'll try and go through some possible reasons,
You do Not show any of the HTML required for web pages like -
<!DOCTYPE html>
 <html lang="en">
 <head><title>a title</title></head>
<body>


</body>
</html>

Without these, your browser may be waiting for more to get there? But does not seem like it should matter for 2 or 3 seconds?

It may be some sort of PDO delay, but I do not see why or how, try this instead -
$result = array();
$result[] = array(1, "John", 123, 456);
$result[] = array(2, "mary", 888, 999);

echo "<table>";
    foreach($result as $row)
    {
        echo "<tr><td>".$row['id']."</td>";
        echo "<td>".$row['name']."</td>";
        echo "<td>".$row['latitude']."</td>";
        echo "<td>".$row['longitude']."</td></tr>";
    }
    echo "</table>";

Open in new window


If this does Not delay, then it's a PDO delay
if this Does Delay, then its your server or the Domain Name relay that's causing the delay

But I can not know what to do since I do not have this problem? sorry, I only have some suggestions?
Ok now I figured out that it's actually a server thing, not anything to do with SQLite. I tried the simplest page <?php echo "Hello World";?> and the same thing happened. So I am going to close this question. If you happen to have any idea why a server can do this, please let me know!

Thanks for the valuable help!
Almost all server PHP hosts that are established and have reliable setups, do not have this problem, , If you get the initial page very quickly, and then the server delays to finish the page It is likely  some problem in the server delivery. some Hosts that are cheep or  no longer maintained properly (about to go out of business) can have issues with slow performance.  You best should get in touch with your Host's Tech or administration people (chat, telephone, support ticket) and ask them about the delay.
Ok I just figured it out... It was cause by an upgrade of php from 5.3.10 to 5.4.6. It seems that it was very unstable so I revert back to 5.3.10 and everything is working normally!