Может ли кто-нибудь сказать мне, когда вы, например, обновите, вставьте, удалите .. если вы затем закроете его, как mysqli_stmt::close();
? Я проверил руководство PHP и не понял, что на самом деле делает close()
.
Пример:
$stmt = $dbh->prepare("SELECT `user_email` FROM `users` WHERE `user_email` = ? LIMIT 1"); $stmt->execute(array($email)); $stmt->close();
Следующая часть моего вопроса: если в качестве примера у меня было несколько запросов на обновление в транзакции после каждого execute()
для каждого запроса, который я выполняю в транзакции, я должен закрыть их отдельно? … потому что это транзакция не обязательно, мне нужно использовать $stmt->close();
после каждого выполнения (); или просто используйте один $stmt->close();
после всех?
Похоже, вы используете метод mysqli close. Метод $ stmt-> close () просто просто закрывает закрытие предыдущего открытого подключения к базе данных ( http://www.php.net/manual/en/mysqli.close.php ).
EDIT: Если это PDO, который вы используете, я просто не понимаю, почему вы не пользуетесь возможностью использования имен параметров вместо вопросительных знаков. Вот почему многие люди выбирают PDO вместо mysqli – у вас может быть более полное полное представление запросов / операторов.
Нет метода close () для PDO, вместо этого для закрытия соединения вы просто устанавливаете переменную базы данных в нуль – это приведет к закрытию соединения.
$stmt = null;
Чтобы ответить на второй вопрос, вам нужно только закрыть соединение один раз. После выполнения всех запросов, которые необходимо выполнить в базе данных.