Ik heb een probleem waar ik al langer tegenaan loop. In de PHP manual of op google vind ik geen antwoord.
Ik wil bijvoorbeeld volgende query uitvoeren via PDO:
Hierbij moeten :calories en :colour vervangen worden door bijvoorbeeld de waarden 150 en red
En dat gebeurt via volgende code:
Dus uiteindelijk ziet mijn query er zo uit:
Nu komt de vraag: hoe krijg ik die laatste query (dus met alle parameters ingevuld) uit mijn PDO statement getrokken? Ik wil namelijk, om gemakkelijk aan debugging te kunnen doen, exact weten welke query er nu uiteindelijk uitgevoerd wordt. Ik vul nu via een zelfgemaakte functie zelf alle parameters in de query in. Op deze manier heb ik uiteindelijk ook hetzelfde resultaat, maar zo doe ik wel dubbel werk, het lijkt mij toch dat ik dit uit mijn PDO statement moet kunnen halen.
edit: Nu ben ik vergeten om mijn titel verder aan te vullen. Kan een mod dit veranderen naar: [PHP] PDO: uitgevoerde query weergeven?
Ik wil bijvoorbeeld volgende query uitvoeren via PDO:
SQL:
1
2
3
| SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour |
Hierbij moeten :calories en :colour vervangen worden door bijvoorbeeld de waarden 150 en red
En dat gebeurt via volgende code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
| <?php /* Execute a prepared statement by binding PHP variables */ $calories = 150; $colour = 'red'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth->bindParam(':calories', $calories, PDO::PARAM_INT); $sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12); $sth->execute(); ?> |
Dus uiteindelijk ziet mijn query er zo uit:
SQL:
1
2
3
| SELECT name, colour, calories FROM fruit WHERE calories < 150 AND colour = 'red' |
Nu komt de vraag: hoe krijg ik die laatste query (dus met alle parameters ingevuld) uit mijn PDO statement getrokken? Ik wil namelijk, om gemakkelijk aan debugging te kunnen doen, exact weten welke query er nu uiteindelijk uitgevoerd wordt. Ik vul nu via een zelfgemaakte functie zelf alle parameters in de query in. Op deze manier heb ik uiteindelijk ook hetzelfde resultaat, maar zo doe ik wel dubbel werk, het lijkt mij toch dat ik dit uit mijn PDO statement moet kunnen halen.
edit: Nu ben ik vergeten om mijn titel verder aan te vullen. Kan een mod dit veranderen naar: [PHP] PDO: uitgevoerde query weergeven?
[ Voor 4% gewijzigd door mr_star op 18-03-2007 15:18 ]