0

標準の 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() を呼び出す

4

1 に答える 1