Использование одного параметра несколько раз в подготовленном mysqli-statement

Можно ли использовать один параметр в подготовленном mysqli состоянии несколько раз с привязкой только один раз ?
что-то вроде этого

$stmt = $mysqli->prepare(SELECT * FROM user WHERE age BETWEEN ?1 - 2 AND ?1 + 2); $stmt->bind_param('i', $myAge); 

Я думаю, что это возможно с PDO , но я не знаю, как это сделать с mysqli .

Чтобы закрыть вопрос:

Ответ – нет .

Если вы хотите связать параметр только один раз и использовать его несколько раз в запросе, вы должны использовать PDO, и это может также потребоваться специальная конфигурация.

Но, похоже, больше причин использовать PDO вместо mysqli, в соответствии с этим замечательным ответом или этим .

Но обязательно есть обходные пути. См. Другие ответы на этот вопрос.

Вы можете использовать это вместо этого

 $stmt = $mysqli->prepare(SELECT * FROM user WHERE age BETWEEN ? - 2 AND ? + 2); $stmt->bind_param('ii', $my_age, $my_age); 

Вы можете использовать execute без bind_param. Я использую array_fill, чтобы сделать трюк.

 $stmt->execute(array_fill(0, 1, $myage)); 

Вы можете редактировать значения array_fill в зависимости от оператора. Предположим, что у вас есть 3 значения для заполнения, вы можете использовать:

 $stmt->execute(array_fill(0, 2, $myage));