2017 © Pedro Peláez
 

library pdo-debug

A super-simple function that returns the full SQL query from your PDO statements

image

panique/pdo-debug

A super-simple function that returns the full SQL query from your PDO statements

  • Tuesday, December 8, 2015
  • by Panique
  • Repository
  • 7 Watchers
  • 51 Stars
  • 22,515 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 11 Forks
  • 4 Open issues
  • 3 Versions
  • 6 % Grown

The README.md

pdo-debug

Shows the SQL query constructed by PDO. Seriously. The magic behind: A simple function that combines your parameters and the raw query. Please note that this is just an emulation, not the "real" result of PDO, but it does the job for nearly all common daily tasks. Way better than NOTHING!, (*1)

Features

  • one simple global function debugPDO($sql, $parameters)
  • works with named parameters (like ':param_1') and question-mark-parameters (like '?')
  • this repo also contains a demo .sql file for easily testing the example below

Big thanks to

Taken from here: http://stackoverflow.com/questions/210564/getting-raw-sql-query-string-from-pdo-prepared-statements, big big big thanks to bigwebguy (http://stackoverflow.com/users/168256/bigwebguy) and Mike (http://stackoverflow.com/users/1083889/mike) for creating the debugQuery() function!, (*2)

How to add to a project

As usual, require this via Composer (require-dev might be more useful as you definitely don't need this in production):, (*3)

"require-dev": {
    "panique/pdo-debug": "0.2"
}

How to use

Your PDO block probably looks like this:, (*4)

$sql = "INSERT INTO test (col1, col2, col3) VALUES (:col1, :col2, :col3)";

and this, right ?, (*5)

$query->execute(array(':col1' => $param_1, ':col2' => $param_2, ':col3' => $param_3));

To use this PDO logger, you'll have to rebuild the param array a little bit: Create an array that has the identifier as the key and the parameter as the value, like below: WARNING: write this WITHOUT the colon! The keys need to be 'xxx', not ':xxx'!, (*6)

$parameters = array(
    'param1' => 'hello',
    'param2' => 123,
    'param3' => null
);

Your full PDO block would then look like:, (*7)

$sql = "INSERT INTO test (col1, col2, col3) VALUES (:param1, :param2, :param3)";
$query = $database_connection->prepare($sql);
$query->execute($parameters);

Now you can debug / log the full SQL statement by using the static method show() of the PdoDebugger class. Make sure to pass the raw SQL statement and the parameters array that contains proper keys and values. Future releases might have a more professional way of handling this., (*8)

echo PdoDebugger::show($sql, $parameters);

The result of this example will be:, (*9)

INSERT INTO test (col1, col2, col3) VALUES ('hello', 123, NULL)

Yeah!, (*10)

Support the project (and others)

Support the project by renting a server at DigitalOcean or just tipping a coffee at BuyMeACoffee.com. Thanks! :), (*11)

Buy Me A Coffee, (*12)

The Versions

08/12 2015

dev-master

9999999-dev https://github.com/panique/pdo-debug

A super-simple function that returns the full SQL query from your PDO statements

  Sources   Download

MIT

sql debug logger log pdo debugger

28/11 2014

0.2

0.2.0.0 https://github.com/panique/pdo-debug

A super-simple function that returns the full SQL query from your PDO statements

  Sources   Download

MIT

sql debug logger log pdo debugger

08/09 2014

0.1

0.1.0.0 https://github.com/panique/pdo-debug

A super-simple function that returns the full SQL query from your PDO statements

  Sources   Download

MIT

sql debug logger log pdo debugger