Есть выборка из базы:
$stmt = $mysqli->prepare("SELECT * FROM `profile` WHERE login = ?");
$stmt->bind_param("s", $login);
$stmt->execute();
$user = $stmt->get_result()->fetch_assoc();
Далее идет условия и в конце, если все верно, то мы должны
обновить данные:
$stmt1 = $mysqli->prepare("UPDATE profile SET secretKey= ?, ip= ?, agent= ? WHERE id= ?");
$stmt1->bind_param('sssi', $secret, $ip, $agent, $user['id']); //user['id'] - мы получаем из выборки, так что $stmt->close(); - нельзя использовать
$stmt1->execute();
$stmt1->close();
А если в место это буду говнокодить:
mysqli_query($mysqli, "UPDATE `profile` SET `secretKey` = '$secret',
`agent` = '$agent',
`ip` = '$ip'
WHERE id = '$user[id]'");
То, все отлично работает ... Ошибка подобного содержания: Uncaught Error: Call to a member function bind_param() on boolean in C:\index.php:140 Stack trace: #0 {main} thrown in
Возникает вопрос: как использовать два подготовленных запросов одном скрипте, не используя
->close()