Я всегда использую ту же переменную для моих утверждений запроса PDO, например:
// Query 1
$stmt = $db->prepare("UPDATE table_1 SET name=? WHERE somthing=?");
$stmt->bindValue(1, $name, PDO::PARAM_STR);
$stmt->bindValue(2, $something, PDO::PARAM_STR);
$stmt->execute();
// Query 2 (right after the above)
$stmt = $db->prepare("UPDATE table_2 SET another_column=? WHERE id=?");
$stmt->bindValue(1, $another_column, PDO::PARAM_STR);
$stmt->bindValue(2, $id, PDO::PARAM_INT);
$stmt->execute();
Я знаю, что это нормально для первых линий ($stmt = $db->...)
, мои сомнения о связывании значения. Например, если я забыл связать что-то в первом запросе, мой запрос будет использовать следующую привязку во втором запросе (или наоборот)? или все сбрасывается после execute()
?
Какая из них лучше?
- Используя ту же переменную, чтобы избежать ошибок (например, Всегда $ STMT)
- Использование различных переменных
Различные переменные также упрощают обслуживание. Скажем, изменилась ли логика, и вам нужно получить доступ к первому «PDOStatement» после того, как вы уже присвоили переменную '$ stmt'. – topher
@topher: Я бы назвал это сложнее, если у меня есть куча переменных _ just in case_. Ряд этих заявлений в любом случае не будет полезен. – cHao