Приложение БД с PHP и SQLite с возвратом нулевого - PullRequest
0 голосов
/ 21 сентября 2018

В настоящее время я создаю ультраосновное приложение для работы с базами данных имени и фамилии, чтобы практиковать свои навыки работы с PHP и SQLite, и у меня возникла небольшая проблема, которую я не могу понять, и я готовпотяните меня за волосы.

Я постараюсь объяснить это как можно лучше, новичок.

Я использую платформы Symfony HTTP-Foundation и polyfill-mbstring,приложение работает без ошибок и, как и ожидалось, кроме проблемы полей ввода, где я добавляю имя и фамилию, кажется, не записывается в базу данных.Когда я просматриваю данные в базе данных, каждая строка отображается как NULL.

Вот функция, которую я создал для добавления нового клиента в базу данных:

function addNewClient($firstName, $lastName) {
   global $db;

   try {
      $query = 'INSERT INTO client_summary (first_name, last_name) VALUES (:first_name, :last_name)';

      $stmt = $db->prepare($query);

      $stmt->bindParam(':first_name', $firstName);
      $stmt->bindParam(':last_name', $lastName);

      return $stmt->execute();
   } catch(\Exception $e) {
      throw $e;
   }
}

Вот кодЯ использую для поля ввода

<form method="post" action="procedures/add-client.php" class="mt-5">
   <div class="form-group">
      <label for="firstName">First Name</label>
      <input type="text" class="form-control" id="firstName" name="firstName" value="<?php if(isset($firstName)) echo $firstName; ?>" placeholder="First Name" required />
   </div>

   <div class="form-group">
      <label for="lastName">Last Name</label>
      <input type="text" class="form-control" id="lastName" name="lastName" value="<?php if(isset($lastName)) echo $lastName; ?>" placeholder="Last Name" />
   </div>

   <button type="submit" class="btn btn-block btn-outline-primary">
      Insert Into Database
   </button>
</form>

Затем процедура добавления нового клиента

<?php
require_once __DIR__ . '/../inc/bootstrap.php';

$firstName = request()->get('first_name');
$lastName = request()->get('last_name');

try {
   $newClient = addNewClient($firstName, $lastName);

   redirect('/index.php');
   $response->send();
   exit;
} catch(\Exception $e) {
   throw $e;
}

bootstrap.php для файлов functions.php и connection.php.

Вот результаты в браузере БД, который я использую.

Screenshot of DB Browser and the results I am getting

Конечно, это то, чего мне не хватает, и мне просто нужнопара опытных глаз.

Заранее благодарю,

Stu:)

1 Ответ

0 голосов
/ 21 сентября 2018

В вашем PHP-коде, где вы получаете first_name и last_name, у вас есть ошибка.Эти два имени, которые вы извлекаете из request(), должны совпадать с полями name из ваших входных тегов в HTML.Таким образом, они должны быть изменены на request()->get('firstName') и request()->get('lastName').

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...