我正在尝试将所有标准 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()