Вообще говоря, рукоятка ORM полностью экранирует. Если вы не передаете необработанные SQL-запросы, вы должны быть в порядке, не избегая ваших входов. Для того, чтобы подтвердить, я вырыл через код Laravel, и наткнулся на execute()
метод, который действительно использует PDO::prepare
:
/** laravel/database/connection.php, lines 219-278 */
protected function execute($sql, $bindings = array())
{
/* ... */
try
{
$statement = $this->pdo->prepare($sql);
$start = microtime(true);
$result = $statement->execute($bindings);
}
// If an exception occurs, we'll pass it into our custom exception
// and set the message to include the SQL and query bindings so
// debugging is much easier on the developer.
catch (\Exception $exception)
{
$exception = new Exception($sql, $bindings, $exception);
throw $exception;
}
/* ... */
}
Я никогда не использовать сырые запросы. В худшем случае, я использую его с? 'S и привязывает значения к?. Большое спасибо за ваш ответ. – Aristona