Это зависит от того, какую библиотеку SQL вы используете в PHP.
Если вы используете библиотеку PDO
, вы можете использовать именованные параметры, что аналогично использованию чисел.http://php.net/manual/en/pdostatement.bindparam.php приводит пример этого:
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
В приведенном выше описании, поскольку параметры именуются, не имеет значения, в каком порядке вы предоставляете переменные «калории» и «цвета»,или где они встречаются в операторе.
Однако mysqli
не поддерживает это, и вместо этого вы должны использовать простые ?
заполнители, а затем предоставлять параметры в точном порядке их использования -см http://php.net/manual/en/mysqli-stmt.bind-param.php.