php - 带有 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 文件。
这是我正在使用的数据库浏览器中的结果。
当然,这是我缺少的东西,只需要一双经验丰富的眼睛。
提前谢谢你,
斯图:)
解决方案
在您获得first_name
and的 PHP 代码中last_name
,您有一个错误。您从中提取的这两个名称应该与HTML 上输入标签request()
中的字段相匹配。name
所以他们应该被改变为request()->get('firstName')
and request()->get('lastName')
。
推荐阅读
- security - 微软 CVRF API
- azure - 应用程序在某个时间后显示 CORS 错误 (AZURE AD)
- ios - React Native - iOS 中来自 Google 应用的深度链接不起作用
- node.js - NodeJS DocuSign 使用 JWT 授予流程请求访问令牌返回 invalid_request
- java - 使用 @JsonCreator 在一个 JSON DTO 中创建同一类的两个实例
- python - 如何将响应式小部件放入 kivy?
- mongodb - 如何在 Elasticsearch 中获取与特定条件匹配的文档数
- java - Http请求:如何在大括号内获取值
- c# - 查找是否有任何对象在 Dictnary 中具有价值
> 使用 linq - android - 由于 TransactionTooLarge 错误导致 Webview Activity 崩溃