首页 > 解决方案 > 带有 PHP 和 SQLite 的数据库应用程序在数据库中返回 Null

问题描述

我目前正在构建一个超基本的名字和姓氏数据库应用程序来练习我使用 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 文件。

这是我正在使用的数据库浏览器中的结果。

DB Browser 的屏幕截图和我得到的结果

当然,这是我缺少的东西,只需要一双经验丰富的眼睛。

提前谢谢你,

斯图:)

标签: phpdatabasesqlitesymfony

解决方案


在您获得first_nameand的 PHP 代码中last_name,您有一个错误。您从中提取的这两个名称应该与HTML 上输入标签request()中的字段相匹配。name所以他们应该被改变为request()->get('firstName')and request()->get('lastName')


推荐阅读