Page 1 sur 1
Comment invoquer la colonne d'une table en tant que variable
Posté : 06 déc. 2021, 22:51
par max303
Bonjour, je cherche à faire appel à la colonne "nom" de ma table categories. En gros ma requête est la suivante:
mais je voudrais également lui ajouter la colonne "nom" de ma table categories, comme ça, ça devient
Code : Tout sélectionner
A.titre LIKE "%'.$q.'% OR A.titre LIKE "%'.$categories[nom].'%. Quelqu'un peut me corriger, s'il vous plait?

Re: Comment invoquer la colonne d'une table en tant que variable
Posté : 07 déc. 2021, 14:59
par ynx
Bonjour,
Quelque chose comme ceci ?
$query = "SELECT * FROM table A WHERE A.titre LIKE '%" . $q . "%' OR A.titre LIKE '%" . $categories['nom'] . "%'";
Tu devrais utiliser une requête préparée avec des marqueurs ou utiliser les fonctions pour échapper les caractères réservés en sql (PDO::quote() ou mysqli_real_escape_string() selon l'API utilisé) pour éviter les injections sql.
Re: Comment invoquer la colonne d'une table en tant que variable
Posté : 07 déc. 2021, 18:32
par max303
Bonjour,
Quelque chose comme ceci ?
$query = "SELECT * FROM table A WHERE A.titre LIKE '%" . $q . "%' OR A.titre LIKE '%" . $categories['nom'] . "%'";
Tu devrais utiliser une requête préparée avec des marqueurs ou utiliser les fonctions pour échapper les caractères réservés en sql (PDO::quote() ou mysqli_real_escape_string() selon l'API utilisé) pour éviter les injections sql.
Bonjour,
Quelque chose comme ceci ?
$query = "SELECT * FROM table A WHERE A.titre LIKE '%" . $q . "%' OR A.titre LIKE '%" . $categories['nom'] . "%'";
Tu devrais utiliser une requête préparée avec des marqueurs ou utiliser les fonctions pour échapper les caractères réservés en sql (PDO::quote() ou mysqli_real_escape_string() selon l'API utilisé) pour éviter les injections sql.
Bonjour ynx, en fait j'ai déjà la requête
Code : Tout sélectionner
$sql = 'SELECT A.*
,C.*
,I.*
FROM annonces A
LEFT JOIN categories C ON C.id = A.id_categorie
INNER JOIN images_annonces I ON A.id= I.id_annonce
WHERE (A.titre LIKE "%'.$q.'%"
AND C.nom LIKE "%'.je ne sais pas quoi mettre ??????.'%")';
sauf que je n'ai pas de variables qui s'appelle catégorie, sinon ça:
.
Et moi je cherche une $categorie qui sera égale au nom de la table categories, pour faire un LIKE
Re: Comment invoquer la colonne d'une table en tant que variable
Posté : 09 déc. 2021, 13:28
par max303
Auriez-vous une solution, s'il vous plaît?
Re: Comment invoquer la colonne d'une table en tant que variable
Posté : 09 déc. 2021, 14:26
par ynx
D'où vient la variable $q utilisée dans la requête sql ? D'un formulaire html ?
Le nom de la catégorie à utiliser dans la requête doit également provenir du formulaire html ? Si oui, tu devrais avoir un input dans le formulaire html pour le nom de la catégorie que tu pourras récupérer en php via la variable $_POST correspondant à cet input.