KeyError KeyError: 'submit_time'
时间: 2024-01-22 07:03:57 浏览: 25
`KeyError` 表示在一个字典中,没有找到指定的键。在你的代码中,你可能在尝试访问字典的 `submit_time` 键时出现了这个错误。
这可能是因为你的字典中没有 `submit_time` 这个键,或者你的代码中可能有一些逻辑错误导致字典中的 `submit_time` 键没有被正确地设置。
你可以检查一下你的代码,确保字典中存在 `submit_time` 键,并且在访问它之前进行正确的设置。如果仍然存在问题,请考虑在代码中添加适当的异常处理逻辑,以便在出现 `KeyError` 错误时能够进行处理。
相关问题
KeyError: 'submit_time'
这个错误通常表示你在使用字典时尝试访问一个不存在的键。请检查你的代码,查找是否有一个名为“submit_time”的键在你尝试访问它之前被正确地添加到字典中。你也可以尝试使用`dict.get()`方法来访问键,这样即使键不存在也不会引发 KeyError 错误。例如,你可以这样写:
```
my_dict = {'foo': 1, 'bar': 2}
submit_time = my_dict.get('submit_time')
if submit_time is None:
print("submit_time is not in the dictionary")
else:
print(f"submit_time is {submit_time}")
```
创建一个books的数据库,并在其中建立一个名为book_message的表,包括书名、作者、出版社、出版时间和价格。编写一个应用程序,用预处理方式在该数据库中实现增加、删除和修改以及查询的基本功能。
首先,我们需要在MySQL中创建一个名为books的数据库,并在其中建立一个名为book_message的表,包括书名、作者、出版社、出版时间和价格。可以使用以下SQL语句:
```sql
CREATE DATABASE books;
USE books;
CREATE TABLE book_message (
book_id INT(11) NOT NULL AUTO_INCREMENT,
book_name VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
publisher VARCHAR(255) NOT NULL,
publish_time DATE NOT NULL,
price DECIMAL(10,2) NOT NULL,
PRIMARY KEY (book_id)
);
```
接下来,我们可以编写一个使用预处理方式在该数据库中实现增加、删除和修改以及查询的基本功能的PHP应用程序。
```php
<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "books";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// 添加图书信息
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["add"])) {
$book_name = $_POST["book_name"];
$author = $_POST["author"];
$publisher = $_POST["publisher"];
$publish_time = $_POST["publish_time"];
$price = $_POST["price"];
$stmt = $conn->prepare("INSERT INTO book_message (book_name, author, publisher, publish_time, price) VALUES (?, ?, ?, ?, ?)");
$stmt->bind_param("ssssd", $book_name, $author, $publisher, $publish_time, $price);
$stmt->execute();
header("Location: index.php");
}
// 删除图书信息
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["delete"])) {
$book_id = $_POST["book_id"];
$stmt = $conn->prepare("DELETE FROM book_message WHERE book_id = ?");
$stmt->bind_param("i", $book_id);
$stmt->execute();
header("Location: index.php");
}
// 更新图书信息
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["update"])) {
$book_id = $_POST["book_id"];
$book_name = $_POST["book_name"];
$author = $_POST["author"];
$publisher = $_POST["publisher"];
$publish_time = $_POST["publish_time"];
$price = $_POST["price"];
$stmt = $conn->prepare("UPDATE book_message SET book_name = ?, author = ?, publisher = ?, publish_time = ?, price = ? WHERE book_id = ?");
$stmt->bind_param("ssssdi", $book_name, $author, $publisher, $publish_time, $price, $book_id);
$stmt->execute();
header("Location: index.php");
}
// 查询图书信息
$sql = "SELECT * FROM book_message";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "书名:" . $row["book_name"] . ",作者:" . $row["author"] . ",出版社:" . $row["publisher"] . ",出版时间:" . $row["publish_time"] . ",价格:" . $row["price"] . "<br>";
}
} else {
echo "0 结果";
}
$conn->close();
?>
```
该应用程序包括添加、删除和修改图书信息的表单以及查询结果的输出。可以在HTML中添加以下代码:
```html
<!-- 添加图书信息 -->
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="text" name="book_name" placeholder="书名" required>
<input type="text" name="author" placeholder="作者" required>
<input type="text" name="publisher" placeholder="出版社" required>
<input type="date" name="publish_time" placeholder="出版时间" required>
<input type="number" name="price" placeholder="价格" step="0.01" min="0" required>
<input type="submit" name="add" value="添加">
</form>
<!-- 删除图书信息 -->
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="number" name="book_id" placeholder="图书ID" required>
<input type="submit" name="delete" value="删除">
</form>
<!-- 更新图书信息 -->
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="number" name="book_id" placeholder="图书ID" required>
<input type="text" name="book_name" placeholder="书名" required>
<input type="text" name="author" placeholder="作者" required>
<input type="text" name="publisher" placeholder="出版社" required>
<input type="date" name="publish_time" placeholder="出版时间" required>
<input type="number" name="price" placeholder="价格" step="0.01" min="0" required>
<input type="submit" name="update" value="更新">
</form>
```
最后,我们可以在HTML中添加以下代码来输出查询结果:
```html
<!-- 显示图书信息 -->
<?php
if ($_SERVER["REQUEST_METHOD"] == "GET" || ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["search"]))) {
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="text" name="keyword" placeholder="关键词">
<input type="submit" name="search" value="搜索">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["search"])) {
$keyword = $_POST["keyword"];
$sql = "SELECT * FROM book_message WHERE book_name LIKE '%" . $keyword . "%' OR author LIKE '%" . $keyword . "%' OR publisher LIKE '%" . $keyword . "%'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "书名:" . $row["book_name"] . ",作者:" . $row["author"] . ",出版社:" . $row["publisher"] . ",出版时间:" . $row["publish_time"] . ",价格:" . $row["price"] . "<br>";
}
} else {
echo "0 结果";
}
}
}
?>
```
现在,我们就可以使用该应用程序在MySQL中实现增加、删除和修改以及查询图书信息的基本功能了。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)