$suquery=$dbCon->prepare("select * from Table where ? LIKE ?");
期待どおりに動作しません。次のように翻訳されます:
SELECT * from table WHERE 'columnName' LIKE '%a%'
'columnName'には'a'が含まれているため、これはすべての行を返します。 'columnName'は文字列であり、実際の列名ではありません。
用語に余分な引用符があることを除いて、2回目の試行は正しいです。パラメータを使用する場合、引用符は必要ありません。解決策は次のとおりです。
$term = "%".$_POST['searchTerm']."%";
$suquery=$dbCon->prepare("select * from Table where columnName LIKE ?");
$suquery->bind_param('s', $term);
$suquery->execute();