標準の MySQLi クエリをすべて MySQLi Prepared Statements に書き直そうとしています。
ただし、ハイフンを含む変数がある場合は常に、execute() が失敗するという問題に気付きました。
私が扱っている変数 ($project_id) は、「AAD0012003-01」のようになります。
$get_progress_done = $db->prepare("SELECT COUNT(*) as rows FROM testvoorstage_checklists.?");
$get_progress_done->bind_param("s", $project_id);
$get_progress_done->execute();
$get_progress_done->store_result();
$get_progress_done->bind_result($rows);
while($get_progress_done->fetch()) {
echo $rows;
}
私は数日間解決策を探していましたが、変数のハイフンを「エスケープ」する方法をまだ見つけていません。
PHPMyAdmin で変数を設定して試してみたので、クエリが機能することはわかっています。
私はプリペアド ステートメントを学んでいます。特殊文字を含む変数が非常に多いため、これを修正する方法を知りたいです。
私が得ているエラーは次のとおりです。
非オブジェクトでメンバー関数 bind_param() を呼び出す