$suquery=$dbCon->prepare("select * from Table where ? LIKE ?");
Vil ikke fungere som forventet. Det vil blive oversat til:
SELECT * from table WHERE 'columnName' LIKE '%a%'
som returnerer alle rækker, fordi 'columnName' indeholder et 'a'. 'columnName' er en streng, ikke et egentligt kolonnenavn.
Dit andet forsøg er korrekt, bortset fra at du har et ekstra anførselstegn i udtrykket. Når du bruger parametre, behøver du ingen anførselstegn. Løsningen er:
$term = "%".$_POST['searchTerm']."%";
$suquery=$dbCon->prepare("select * from Table where columnName LIKE ?");
$suquery->bind_param('s', $term);
$suquery->execute();