PHP MySQL Query Function with Easy Error Message
Mar 3, 2008 · 2 minute readCategory: php
This is post is now quite old and the the information it contains may be out of date or innacurate.
If you find any errors or have any suggestions to update the information please let us know or create a pull request on GitHub
What the function does it perform the database query as normal, but if the query fails, the function gives you a full breakdown of the mysql error messsage allowing you to easily see what has gone wrong and fix it.
function db_query($query){
$output = mysql_query($query) or die('
<h1 style="color: red">Uh Oh......MySQL Error:</h1>
<h3>Query:</h3>
<pre>' . htmlentities($query) . '</pre>
<h3>MySQL Error:</h3>
' . mysql_error() . '
<hr /> <hr />'); return $output;
}
You would not want to use this query on a live site that is public facing as the error messages will help someone who is trying to break into your system. If you wanted to be able to use this function on a live site and quickly turn the error reporting on and off, we could use a definition like this:
define(MYSQL_ERROR_REPORTING: false;);
Then change the function to be like this:
```php
function db_query($query){ if(MYSQL_ERROR_REPORTING){ $output = mysql_query($query) or die(’
Uh Oh……MySQL Error:
Query:
’ . htmlentities($query) . ‘
MySQL Error:
‘ . mysql_error() . ‘’); }else{ $output = mysql_query($query); } return $output; }
```Then if you need to see the mysql errors, you can quickly edit the definition to allow mysql error reporting by changing the definition to true.
We would always recommend developing and debugging web sites on the localhost and only making changes to the live site once you are sure that everything works. However sometimes for whatever reason it is hard to replicate an error on the localhost so you really need to see what’s happening on the live site.
Alternatively if you are developing an internal system that will only be accessed by your own staff, then some built in error reporting helps you to fix problems that may occur, and also helps your more savvy staff to understand what has gone wrong and give you a good idea so that you can fix it.