Я пытаюсь переписать все мои стандартные запросы MySQLi в подготовленные операторы MySQLi.
Однако я заметил проблему: всякий раз, когда у меня есть переменная, содержащая дефис, выполнение () завершается ошибкой.
Переменные, с которыми я имею дело ($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() для не-объекта
AAD0012003-01
(с обратными кавычками) непосредственно в запрос, он работает нормально. '-', кажется, единственная проблема. - person Kevin Sleegers   schedule 26.11.2013