Bonjour / Bonsoir,
Alors voila je suis entrain de créer une page de recherche sur un site, est je rencontre un petit prôblème au niveau de ma requette sql.
J'ai créer cette requette :
$QuerySearch = $bdd->query("SELECT * FROM wc_post
INNER JOIN wc_users ON wc_post.id_poster = wc_users.id
INNER JOIN post_comments ON wc_post.id = post_comments.post_id
WHERE CONCAT(wc_post.content, wc_users.name_users) LIKE '%".$q."%'
ORDER BY id DESC");
qui a pour bute de récupérer des informations part à port à ce que l'utilisateur a céci dans la bare de recherche.
Cette jointure fonctionne bien dans phpmyadmin mais quand je la mais sur ma page search.php elle ne renvoie pas toutes les informations de mais table.
Quand je fait un var_dump() de ma variable qui contient les info de cette requette elle me renvoie uniquement quelle que information.
Voici une image de mais table:
table wc_post
table wc_users
et voici ce qu'il affiche mon var_dump($QuerySearch)
Voila merci d'avance pour ce qui pourons m'aider et pour les personnes qui ont pris la peine de lire.
"ORDER BY id DESC" tu dois avoir un conflit, je vais parler comme phpmyadmin : "de quel id parles tu? L'id de wc_post ou wc_user?".
Essaie de preciser comme suit : ORDER BY nom_table.id
Et mets tes conditions ON entre parentheses également : ON (wc_post.id_poster = wc_users.id)
Essaies ça, et execute un $QuerySearch->errorInfo() également, tu y verra plus clair.
Enfin, je te conseille d'executer des prepare() puis des execute() ;)
salut Je vient de faire les modification comme tu la dit, mais rien ne change, je c'est pas si c'est a cause de LIKE.
salut, dsl pour le retard, quand j'effectue le var_dump errorinfo plus bas dans la page il m'affiche :
array (size=3)
0 => string '00000' (length=5)
1 => null
2 => null
salut, j'ai tes pas disponible pour vous répondre, je vais revoir mon code ce soir quand je suis chez moi.