Solved

Problem with sqlite database

Posted on 2013-05-13
6
296 Views
Last Modified: 2013-05-13
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

0
Comment
Question by:infodigger
  • 3
  • 3
6 Comments
 
LVL 33

Accepted Solution

by:
Slick812 earned 500 total points
ID: 39162313
greetings  infodigger, , I have used PDO for SQLite many times, and I have not ever had that problem, for the Most Part you do not need to Close a PDP SQLite connection, since it will stop when your PHP script ends anyway, But, if you do need to close it use
$file_db = null;

do not use -
  unset($file_db);

And this may be your problem, for the delay? ?
0
 

Author Comment

by:infodigger
ID: 39162473
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:)
0
 
LVL 33

Expert Comment

by:Slick812
ID: 39162581
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?
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 

Author Comment

by:infodigger
ID: 39162622
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!
0
 
LVL 33

Expert Comment

by:Slick812
ID: 39162680
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.
0
 

Author Comment

by:infodigger
ID: 39162685
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!
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

823 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question