Как получать id пользователя через сессию,искать в таблице users этот id и записывать другую в таблицу?

Мне нужно, чтобы при нажатии на кнопку "Забронировать", определялся id пользователя и искался в таблице users, а после, этот самый id записывался в таблицу reservationв поле id_reader. Я определяю id через сессию так, но как найти в бд запись и перенести ее в другую таблицу не понимаю, как реализовать..

Выглядит код так:

    <?php

$host = 'localhost';  // Хост, у нас все локально
$user = 'Neko';    // Имя созданного вами пользователя
$pass = 'qweqwe'; // Установленный вами пароль пользователю
$db_name = 'Library';   // Имя базы данных
$link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой

// Ругаемся, если соединение установить не удалось
if (!$link) {
  echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
  exit;
}



if (isset($_GET['res_id'])) { //проверяем, есть ли переменная
  $res_id = mysqli_real_escape_string($link, $_GET['res_id']);
  $result = mysqli_query($link, "SELECT id FROM `book` WHERE `id` = '$res_id'");
  $row = mysqli_fetch_array($result);
  $dir='';
    //удаляем строку из таблицы
    $sql = mysqli_query($link, "INSERT INTO `reservation`(`id_book`,`id_reader`) VALUES ('{$res_id}', '{id}')");
    if ($sql) {
      echo "<h2>Данные о книге удалены.</h2>";
    } else {
      echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
    }
  }
?>

<form>
        <a href="#"><?= $_SESSION['user']['id'] ?></a>
    </form>

Таблицы: reservation  таблица

таблица users

Вот такуую ошибку он мне выдает, я понимаю содержание, но я не понимаю, почему оно не выполняется(ограничение). Что не так? Что ему не нравится?


Ответы (1 шт):

Автор решения: Neko

Все, я разобралась. Вот так сделала.

    <?php

$host = 'localhost';  // Хост, у нас все локально
$user = 'Neko';    // Имя созданного вами пользователя
$pass = 'qweqwe'; // Установленный вами пароль пользователю
$db_name = 'Library';   // Имя базы данных
$link = mysqli_connect($host, $user, $pass, $db_name); // Соединяемся с базой

// Ругаемся, если соединение установить не удалось
if (!$link) {
  echo 'Не могу соединиться с БД. Код ошибки: ' . mysqli_connect_errno() . ', ошибка: ' . mysqli_connect_error();
  exit;
}



if (isset($_GET['res_id'])) { //проверяем, есть ли переменная
  $res_id = mysqli_real_escape_string($link, $_GET['res_id']);
  $result = mysqli_query($link, "SELECT id FROM `book` WHERE `id` = '$res_id'");
  $row = mysqli_fetch_array($result);
  $dir='';
  $date_today = date('d-m-Y');
  $time = strtotime("+1 month");
  $fecha = date("d-m-Y", $time);
  $users_id = $_SESSION['user']['id'];
    // строку из таблицы
    $sql = mysqli_query($link, "INSERT INTO `reservation`(`id_book`,`users_id`,`bookissuingdate`,`bookreturndate`) VALUES ('$res_id', '$users_id', '$date_today', '$fecha')");
    if ($sql) {
      echo "<h2>Данные о книге добавлены.</h2>";
    } else {
      echo '<p>Произошла ошибка: ' . mysqli_error($link) . '</p>';
    }
}

?>


  <?php

    $sql = mysqli_query($link, 'SELECT `id`, `id_section`,`Name`, `Author`, `BookEdition`, `Yearofpublication`, `Jenre`, `NumberofPages`FROM `book`');
    if($array) { // Выводим данные
      echo '<tr>' .
      "<td>№ секции <td>{$array['id_section']}</tr>".
      "<td>Название книги <td>{$array['Name']}</tr>".
      "<td>Автор <td>{$array['Author']}</tr>" .
      "<td>Издание <td>{$array['BookEdition']}</tr>".
      "<td>Год публикации <td>{$array['Yearofpublication']}</tr>" .
      "<td>Жанр <td>{$array['Jenre']}</tr>".
      "<td>Количество страниц <td>{$array['NumberofPages']}</tr>".
           "<td><a href='?res_id={$array['id']}'>Забронировать!</a></td>" .

           '</tr>';

    }

    echo '<img src=" Admin/'.$image.'"style=" margin-left: 400px; margin-top: 20px; width:400px;"; />';
  ?>



</table>
→ Ссылка