Home > Enterprise >  how to show all records that has f.ex 'C ' in set of languages
how to show all records that has f.ex 'C ' in set of languages

Time:01-08

I have a problem with showing record if in column values are in set. Photo of record in database

My code looks like this but it only works if value is one language.

function showSets($db,$lang)
{
echo "dane z database: <br>";
$sq = "SELECT * FROM clients WHERE Languages = '$lang'";
$result = $db -> select($sq,['FamilyName','Name','Age','Country','Email','Languages','Payment']);
echo $result;
}

CodePudding user response:

You can use find_in_set:

SELECT *
FROM   clients
WHERE  FIND_IN_SET($lang, languages)

Side note:
Using string interpolation with $lang like your snippet shows probably leaves your code vulnerable to SQL injection attacks.
You should probably use a prepared statement instead.

  • Related