Я пытаюсь переписать все мои стандартные запросы MySQLi в подготовленные заявления MySQLi.Параметр в подготовленном заявлении содержит Hyphen (-)?
Я заметил проблему, хотя всякий раз, когда у меня есть переменная, содержащая дефис, выполняется выполнение().
Переменные, с которыми я имею дело ($ 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() на не-объект
1. Проверьте ошибки 2. Вы можете привязывать значения, а не имена объектов базы данных – zerkms
Возможный дубликат [Могу ли я параметризовать имя таблицы в подготовленном отчете?] (Http://stackoverflow.com/questions/11312737/ can-i-parameterize-the-table-name-in-a-made-statement) –
Спасибо за ваши ответы. Ну ладно, я так и думал. Однако во всех других утверждениях, где я использую одну и ту же переменную, чтобы получить как определенную строку из таблицы, она также не работает. Есть ли способ избежать переменной? Потому что, когда я пытаюсь выполнить запрос в PHPMyAdmin и вставляю 'AAD0012003-01' (с обратными выводами) непосредственно в запрос, он работает просто отлично. Единственная проблема - «-». –