Requête SQL dans une boucle : optimisation
Bonjour,
Je voudrai améliorer mon code car j'ai une requête SQL qui est située à l'intérieur d'une boucle.
Je voudrai passer par une requête préparée afin que l'exécution soit plus rapide mais j'ai quelques problèmes.
Voici le code original :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php
for ($iSemaine= 1; $iSemaine<=$nbSemainesAffichees; $iSemaine++){
// ...
$sqlhtrav = "SELECT sum(nbrehtravaillees)
FROM ".$table["intervention"]."
WHERE id_categorie ='$idcategorie'
AND('$debutSemaine'<= datedebut && '$finSemaine'> datedebut)
AND id_utilisateur='$utilisateur'
";
$reshtrav = mysql_query($sqlhtrav)or die ('Erreur SQL'.$reshtrav.'<br>'.mysql_error());
//...
}
?> |
J'ai essayé de le remplacer par ce qui suit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php
$sqlTrav = "PREPARE req FROM 'SELECT sum(nbrehtravaillees) FROM intervention WHERE id_categorie =`$idcategorie` AND id_utilisateur=`$utilisateur` AND `dateDebut` BETWEEN ? AND ?'";
mysql_query($sqlTrav);
for ($iSemaine= 1; $iSemaine<=$nbSemainesAffichees; $iSemaine++){
//...
$sqlTrav = "SET @debut_semaine=".$debutSemaine.", @fin_semaine=".$finSemaine."";
mysql_query($sqlTrav);
$sqlcontrat = "EXECUTE req USING @debut_semaine, @fin_semaine";
$reshtrav = mysql_query($sqlcontrat)or die ('Erreur SQL'.$reshtrav.'<br>'.mysql_error());
//...
}
?> |
Mais j'ai l'erreur suivante :
Citation:
Erreur SQL
Unknown prepared statement handler (req) given to EXECUTE