Существуют ли какие-либо преимущества безопасности использования PHP PDO вместо mysql_connect () и т. Д.?
Нет. Для PDO и расширения MySQL нет преимуществ безопасности (за исключением того, что учил нас закон Мерфи, который применим к обоим). Оба будут обеспечивать безопасный ввод данных, экранируя одни и те же символы.
Однако PDO имеет и другие преимущества:
Они обычно считаются самыми важными.
Не нужно даже связыватьParam, просто сделайте
$stmt = $pdoConnection->prepare('SELECT foo FROM bar WHERE baz = :baz'); $stmt->execute(array(':baz' => 1)); foreach ($stmt as $row) { }
Это просто.
Да, если вы используете bindParam()
вместо конкатенации строк с помощью mysql_real_escape_string()
.
Намного легче запомнить bindParam()
внешних данных, чем помнить о том, чтобы избежать каждого значения с помощью mysql_*
.
Кроме того, PDO намного удобнее в работе.