У меня есть php, который мне нужен для многих выборов, например, 10, поэтому я делаю:
$stmt = $mysqli_->prepare("SELECT count(id) as num FROM table WHERE id=?");
$stmt->bind_param('i', $id);
$stmt->execute();
$stmt->bind_result($count);
$stmt->fetch();
$stmt->close();
$stmt = $mysqli_->prepare("SELECT count(id) as num FROM table2 WHERE id=?");
$stmt->bind_param('i', $id);
$stmt->execute();
$stmt->bind_result($count2);
$stmt->fetch();
$stmt->close();
$stmt = $mysqli_->prepare("SELECT count(id) as num FROM table3 WHERE id=?");
$stmt->bind_param('i', $id);
$stmt->execute();
$stmt->bind_result($count3);
$stmt->fetch();
$stmt->close();
...
Можно ли использовать $stmt->close(); все время или это убьет производительность соединения?
Возможный дубликат Когда мне нужно закрыть соединение mysqli (база данных)?
@MohammedYassineCHABLI Я не спрашиваю, нужно ли мне закрывать соединение. Я спросил, нормально ли закрывать все время, как в моем случае, или у меня есть другой способ повторно использовать уже открытое соединение.
Почему бы не использовать UNION? в этом случае лучше использовать один запрос в нескольких таблицах и одно закрытие.
@Noman, может быть, я смогу использовать союз в некоторых. но мой пример прост, я думаю, что в большинстве из них у меня разное количество полей.






"можно ли постоянно использовать $ stmt-> close ();". Да. "убьет ли это производительность соединения?". В некотором роде. Если вам нужно 10 отдельных запросов, может быть полезно найти способ уменьшить эту сумму. Либо измените базу данных, либо свой код. Или нет, если это сработает нормально и быстро, все зависит от вас :)