Я использую операторы для защиты от SQL-инъекций ... Мой вопрос в том, что мне нужно повторять при выполнении нескольких запросов?
Если вы посмотрите на второй запрос, я не уверен, нужно ли вводить оператор подготовки в цикл foreach.
Что-то не так с этим сводным кодом?
открытое соединение с базой данных
// connect to database
$conn = connect('r');
запустить первый запрос
$sql = "SELECT ... FROM ... WHERE xxx = ?";
$stmt = $conn->stmt_init();
$stmt->prepare($sql);
$stmt->bind_param('i', $albumid);
$stmt->bind_result(..., ...);
$stmt->execute();
$stmt->store_result();
$num_rows = $stmt->num_rows;
if ($num_rows > 0) {
loop results...
}
$stmt->free_result();
второй запрос с повторами:
$sql = "SELECT ... FROM ... WHERE xxx = ?";
$stmt = $conn->stmt_init();
$stmt->prepare($sql); ///??????? inside or outside foreach loop ?????
foreach (... as $key => ...) {
$stmt->bind_param('i', $key);
$stmt->bind_result(...);
$stmt->execute();
$stmt->store_result();
$num_rows = $stmt->num_rows;
if ($num_rows > 0) {
loop results...
}
$stmt->free_result();
}
закрыть базу данных
// close database
$conn->close();