php - 带有 PHP 和 SQLite 的数据库应用程序在数据库中返回空值

标签 php database sqlite symfony

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

当然这是我所缺少的,只需要一双有经验的眼睛。

提前致谢

斯图:)

最佳答案

在您获取 first_namelast_name 的 PHP 代码中,您遇到了错误。您从 request() 中提取的这两个名称应该与 HTML 上输入标签中的字段 name 相匹配。所以它们应该更改为 request()->get('firstName')request()->get('lastName')

关于php - 带有 PHP 和 SQLite 的数据库应用程序在数据库中返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52435780/

相关文章:

PHP-FPM 不写入日志

sql-server - 在预期条件的上下文中指定的非 bool 类型的表达式,接近 'NAME'。

mysql - SQLite 是否适合在生产网站中使用?

php - mysql事务在循环中捕获错误

java - 如何在imageview上设置捕获的图像

sql-server - 将公式(方程式)存储在数据库中以供稍后评估(SQL Server 2005)

eclipse - Birt Eclipse,通过 ODBC 连接到 SQLite 数据库? Birt 需要使用特定的 JDBC 驱动程序吗?

android - GreenDao无法设置数据库

php - 必须使用事件访问 token 来查询有关当前用户的信息 |访问 token 似乎有效

mongodb - errmsg 错误数字 "\"解析端口 30000 代码 93