par
Invité » 05 juil. 2008, 21:39
J'ai débuggué avec var_dump() pour voir si les variables contenaient les bonnes valeurs !
Code : Tout sélectionner
$dbh = PDO2::GetInstance();
//Corbeille
if(!empty($_GET['trash']) AND verifier('corbeille_sujets', $_GET['f']))
{
$trash = 1;
}
else
{
$trash = 0;
}
$stmt = $dbh->prepare("
SELECT forum_id, forum_nom, forum_description, categorie_nom, forum_categorie_id,
(SELECT COUNT(*) AS nombre_sujets FROM zcov2_forum_sujets WHERE sujet_forum_id = :f AND sujet_corbeille = :trash) AS nombre_de_sujets
FROM zcov2_forum_forums
LEFT JOIN zcov2_forum_categories ON zcov2_forum_forums.forum_categorie_id = zcov2_forum_categories.categorie_id
LEFT JOIN zcov2_forum_sujets ON zcov2_forum_forums.forum_id = zcov2_forum_sujets.sujet_forum_id
WHERE forum_id = :f
GROUP BY forum_id
");
$stmt->bindParam(':f', $_GET['f']);
$stmt->bindParam(':trash', $trash);
if ($stmt->execute()) {
$resultat = $stmt->fetch(PDO::FETCH_ASSOC);
// suite
Code : Tout sélectionner
// Début pareil !
$stmt = $dbh->query("
SELECT forum_id, forum_nom, forum_description, categorie_nom, forum_categorie_id,
(SELECT COUNT(*) AS nombre_sujets FROM zcov2_forum_sujets WHERE sujet_forum_id = {$_GET['f']} AND sujet_corbeille = $trash) AS nombre_de_sujets
FROM zcov2_forum_forums
LEFT JOIN zcov2_forum_categories ON zcov2_forum_forums.forum_categorie_id = zcov2_forum_categories.categorie_id
LEFT JOIN zcov2_forum_sujets ON zcov2_forum_forums.forum_id = zcov2_forum_sujets.sujet_forum_id
WHERE forum_id = {$_GET['f']}
GROUP BY forum_id
");
if ($stmt)
{
$resultat = $stmt->fetch(PDO::FETCH_ASSOC);
En fait dans le premier cas $resultat vaut false... (alors que execute() a renvoyé true).
Dans le deuxième cas, $resultat contient la bonne valeur...
Ne vous inquiétez pas pour $_GET['f'] il a été validé avec ctype_digit() !
D'autres erreurs sont également apparues, telles que
"Warning, calling bindParam() on a non-object on line 27" (je vous le fait de tête hein...).
la ligne 27, c'est
J'ai direct fait un var_dump($stmt), et il me renvoit :
object PDOStatement { "queryStr" => "la requête..." }
(de tête aussi, mais l'idée est là ! ).
Bizarre, c'est possible que la nouvelle version de PDO ne soit pas totalement compatible ? (sachant que tout le reste du site fonctionne normalement et que ya aussi un bon paquet de requêtes préparées ailleurs ?).
J'ai débuggué avec var_dump() pour voir si les variables contenaient les bonnes valeurs ! :)
[code] $dbh = PDO2::GetInstance();
//Corbeille
if(!empty($_GET['trash']) AND verifier('corbeille_sujets', $_GET['f']))
{
$trash = 1;
}
else
{
$trash = 0;
}
$stmt = $dbh->prepare("
SELECT forum_id, forum_nom, forum_description, categorie_nom, forum_categorie_id,
(SELECT COUNT(*) AS nombre_sujets FROM zcov2_forum_sujets WHERE sujet_forum_id = :f AND sujet_corbeille = :trash) AS nombre_de_sujets
FROM zcov2_forum_forums
LEFT JOIN zcov2_forum_categories ON zcov2_forum_forums.forum_categorie_id = zcov2_forum_categories.categorie_id
LEFT JOIN zcov2_forum_sujets ON zcov2_forum_forums.forum_id = zcov2_forum_sujets.sujet_forum_id
WHERE forum_id = :f
GROUP BY forum_id
");
$stmt->bindParam(':f', $_GET['f']);
$stmt->bindParam(':trash', $trash);
if ($stmt->execute()) {
$resultat = $stmt->fetch(PDO::FETCH_ASSOC);
// suite
[/code]
[code] // Début pareil !
$stmt = $dbh->query("
SELECT forum_id, forum_nom, forum_description, categorie_nom, forum_categorie_id,
(SELECT COUNT(*) AS nombre_sujets FROM zcov2_forum_sujets WHERE sujet_forum_id = {$_GET['f']} AND sujet_corbeille = $trash) AS nombre_de_sujets
FROM zcov2_forum_forums
LEFT JOIN zcov2_forum_categories ON zcov2_forum_forums.forum_categorie_id = zcov2_forum_categories.categorie_id
LEFT JOIN zcov2_forum_sujets ON zcov2_forum_forums.forum_id = zcov2_forum_sujets.sujet_forum_id
WHERE forum_id = {$_GET['f']}
GROUP BY forum_id
");
if ($stmt)
{
$resultat = $stmt->fetch(PDO::FETCH_ASSOC);[/code]
En fait dans le premier cas $resultat vaut false... (alors que execute() a renvoyé true).
Dans le deuxième cas, $resultat contient la bonne valeur...
Ne vous inquiétez pas pour $_GET['f'] il a été validé avec ctype_digit() ! :)
D'autres erreurs sont également apparues, telles que
"Warning, calling bindParam() on a non-object on line 27" (je vous le fait de tête hein...).
la ligne 27, c'est [code]$stmt->bindParam(':id', $id);[/code]
J'ai direct fait un var_dump($stmt), et il me renvoit :
[quote]object PDOStatement { "queryStr" => "la requête..." }[/quote] (de tête aussi, mais l'idée est là ! ).
Bizarre, c'est possible que la nouvelle version de PDO ne soit pas totalement compatible ? (sachant que tout le reste du site fonctionne normalement et que ya aussi un bon paquet de requêtes préparées ailleurs ?).