Есть ли способ использовать подготовленные MySQLi операторы без передачи ссылок?
[Справочная информация: я чрезвычайно новичок в PHP и MySQL, но я унаследовал частный плагин WordPress для поддержки и поэтому я учусьи то и другое.]
Я понимаю, что подготовленные операторы полезны для предотвращения SQL-инъекций и, возможно, также для ускорения запросов (если операторы сохраняются), но для необходимости использования ссылочных переменныхкажется страннымЯвляется ли идея, что каждый вызывает bind_param
заранее, а затем при выполнении последующих запросов просто устанавливает данные в эти связанные переменные, а не взаимодействует с оператором вообще?
Прямо сейчас код IРефакторинг имеет 17 переменных, которые он передает в bind_param
.Я создал класс, который будет содержать все данные, поэтому мне больше не нужно передавать 17 переменных из функции в функцию, но приведенное ниже, очевидно, дает сбой, поскольку мой класс не возвращает ссылки:
$stmt->bind_param('ssssssisssssssssi',
$my_class->get(FIELD_ONE),
$my_class->get(FIELD_TWO),
/*...x15 more...*/)
Учитывая, чтокод в настоящее время отбрасывает $stmt
сразу после $stmt->execute()
(поэтому долгосрочные переменные не отслеживаются), есть ли способ использовать подготовленные операторы, не беспокоясь о создании временных переменных, просто чтобы я мог связать их?Есть ли альтернативный класс / интерфейс, который я мог бы или должен использовать?
Спасибо!