bind_param Mysqli определяется следующим образом:
bind_param ( string $types , mixed &$var1 [, mixed &$... ] )
Объяснение
&
означает, что переменная передается по ссылке, и поскольку на константы (например, DEFAULT_USER_LIMIT
) в PHP нельзя ссылаться таким образом, они могут передаваться только как значения, потому что это то, что они есть.
Так что если у вас есть функция, которая обеспечивает передачу по ссылке, сначала вы должны сохранить значение константы в переменной и передать переменную (как вы это сделали ...)
Если вы можете использовать интерфейс PDO и вам не нужно передавать значения по ссылке,
просто используйте PDO bindValue()
+ PDO в обычных случаях используется почти так же, как Mysqli.
public bool PDOStatement::bindValue ( mixed $parameter , mixed $value [, int $data_type = PDO::PARAM_STR ] )
И если вам все еще нужно пройти по ссылке, PDO также имеет bindParam()
public bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )