How To Display PDO SQL Query Error Information

Often it can be quite hard to debug SQL errors when using PHP since PHP will often throw a generic error that doesn’t really help you diagnose the situation. Other times you may not want to allow PHP errors to be shown. A quick way to debug PDO SQL errors is to use the or die function. “or die” works by executing the SQL query and if it fails to execute it will “die” and output the contents of the function. This is quite similar to a try catch block.

In order to output the PDO error you will need to get the error info from the statement object. To implement this function simply add the or die code to the end of the $stmt->execute code.

$stmt = $db->prepare($sql);
$stmt->execute($array) or die(print_r($stmt->errorInfo(), true));

The critical part of this code is the call to the method “errorInfo on the stmt class. There are lots of different types of SQL errors that can happen. A lot of time time, if you are developing code, the cause will be the query you have written. This method will allow you to dump the entire error response that is returned from the DB.

Log PDO and SQL errors internally

This should go without saying, but I will say it anyway. You should never output SQL or PDO errors onto the page in a live scenario. These error messages can expose highly sensitive information about your web site, DB and or server. If this information gets into the wrong hands, you could find yourself with a hacked website.

The code snippet above will dump the entire error onto the web page. Very useful in development, but not in production. Please be careful and use an internal logging system to keep track of database errors on a production website.

Related Articles

Related Questions

How do I remove a stubborn M2 screw that’s stripped?

I've got an M2 screw that's totally stripped and won't budge at all, even with pliers. I've tried everything I could find online like...

I’d love some feedback on my $3,000 PC build!

I've received a $3,000 stipend from my job to purchase a new computer, and I need some help with my build. The computer has...

Why did my phone show the wrong time after turning it back on?

I just turned on my 16e after it being off for several hours, and the time on the locked screen was 11:40. A minute...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Latest Tools

Online Hash Generator – String to Hash Converter

Need to quickly generate a hash from a string? Whether you're verifying file integrity, securing data, or just experimenting with cryptographic tools, this simple...

Convert CSV To HTML Table

Need to quickly turn CSV data into an HTML table? Whether you're copying data from Excel, Google Sheets, or another spreadsheet, this tool makes...

Student Group Randomizer

Creating fair and balanced groups in the classroom can be time-consuming — especially when you're trying to avoid repetition, manage different skill levels, or...

Random Group Generator

Need to split a list of people, items, or ideas into random groups? Our free Random Group Generator makes it quick and easy. Whether...

Flip Text Upside Down – Free Online Tool

Ever wanted to flip your text upside down just for fun or to grab someone’s attention in a creative way? This free online Upside...

Raffle Ticket Generator

If you're running a fundraiser, charity draw, or local event and need raffle tickets fast, this free online tool lets you generate and print...

Latest Posts

Latest Questions