数据库应用程序与PHP&;SQLite在数据库中返回Null
我目前正在构建一个超基本的名字和姓氏数据库应用程序来练习我的PHP和SQLite技能,我遇到了一个我无法解决的问题,我已经准备好解决这个问题了 我会尽力解释的,有点新手 我使用的是Symfony HTTP Foundation和polyfill mbstring框架,该应用程序运行时没有错误,而且正如预期的那样,除了输入字段的问题之外,我在其中添加的名字和姓氏似乎没有写入数据库。当我查看数据库中的数据时,每一行都显示为空 以下是我创建的用于向数据库添加新客户端的函数:数据库应用程序与PHP&;SQLite在数据库中返回Null,php,database,sqlite,symfony,Php,Database,Sqlite,Symfony,我目前正在构建一个超基本的名字和姓氏数据库应用程序来练习我的PHP和SQLite技能,我遇到了一个我无法解决的问题,我已经准备好解决这个问题了 我会尽力解释的,有点新手 我使用的是Symfony HTTP Foundation和polyfill mbstring框架,该应用程序运行时没有错误,而且正如预期的那样,除了输入字段的问题之外,我在其中添加的名字和姓氏似乎没有写入数据库。当我查看数据库中的数据时,每一行都显示为空 以下是我创建的用于向数据库添加新客户端的函数: function addN
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代码中,当您获得名字和姓氏时,您有一个错误。从request()
中提取的这两个名称应与HTML上输入标记中的name
字段相匹配。因此,它们应该被更改为request()->get('firstName')
和request()->get('lastName')
,之前,我的代码有错误,而现在我没有数据被插入DBFair+1…不得不询问,因为许多人滥用该网站:-(当我输入问题时,我担心我可能做得太多了,用昨天的代码问了另一个问题。我本来打算删除昨天的帖子,但一直没有时间去做。request()函数是什么?你是个传奇人物@diegowc!非常感谢你。它工作得很好:D
<?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;
}