Bonjour à tous,
Je travaille actuellement sur une page de recherche. Après 2 heures de recherche (sic), je bloque toujours, mais j’ai réussi à identifier l’erreur : elle se trouve dans cette fonction…
function searchArticlesTitlesFunction($searchText) {
$searchArticlesTitlesRequestFunction = $db->prepare("SELECT articles.id
FROM articles
WHERE articles.published = 1
AND LOWER(articles.title) LIKE LOWER(:search)
ORDER BY date DESC, time DESC");
$searchArticlesTitlesRequestFunction->execute(array(
"search" => ("%" . $searchText . "%")
));
$returnArray = array();
while ($searchArticlesTitlesFunction = $searchArticlesTitlesRequestFunction->fetch()) {
array_push($returnArray, $searchArticlesTitlesFunction["id"]);
}
$searchArticlesTitlesRequestFunction->closeCursor();
return $returnArray;
}
…réutilisée quelques lignes plus tard dans cet extrait…
$globalArticlesArray = array();
foreach ($requestsArray as $currentRequest) {
$globalArticlesArray = array_merge($globalArticlesArray, searchArticlesTitlesFunction($currentRequest));
}
$globalArticlesArray = array_unique($globalArticlesArray);
J’ai vérifié avec des tests, tous les tableaux marchent très bien, mais je n’arrive toujours pas à identifier le problème dans la fonction, même avec « le test des commentaires ». Cependant, il est très probable que cela se trouve dans le $db->prepare
et le $request->execute(array(
. Mais je n’arrive toujours pas à identifier l’erreur précise, mais avec plusieurs vérificateurs de code PHP / MySQL.
Merci, Thib’.