php - 当我尝试从数据库中提取数据时 PHP 未定义变量
问题描述
因此,当我尝试从数据库中提取数据时,我遇到了这些问题。我的数据库连接工作正常。它显示“已建立数据库连接”,并且在我的 index.php 中,我为每个循环编写了一个来获取数据,在我的 HTML 代码中,我将它显示在表中。我得到了这些错误:
Notice: Undefined variable: jokes in C:\xampp\htdocs\comp1321_database\jokes\jokes.html.php on line 16
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\comp1321_database\jokes\jokes.html.php on line 16
这是显示数据的 HTML 和 php 代码:
<?php include_once 'admin/includes/helpers.inc.php';?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>List of Jokes</title>
</head>
<body>
<p><a href ="/comp1321_database/jokes/form.html.php/">Add your own joke</a></p>
<p>Here are all the jokes in the database</p>
<!-- into a table -->
<table border="1">
<?php foreach ($jokes as $joke): ?>
<!-- <form action="?deletejoke" method="post"> -->
<tr>
<td><?php html($joke['joketext']);?></td>
<td><?php $display_date = date("D d M Y", strtotime($joke['jokedate']));
html($display_date); ?>
</td>
<td><img height="100px" src="images/<?php html($joke['image']);?>"
/></td>
<td><input type="hidden" name="id" value="<?php echo $joke['id'];
?>">
<input type="submit" value="Delete"></td>
</tr>
<!-- </form> -->
<?php endforeach; ?>
</table>
<?php include 'admin/includes/footer.inc.html.php';?>
</body>
</html>
这是 index.php:
<?php
// selection block
include 'admin/includes/db.inc.php';
//
try
{
$sql = 'SELECT * FROM joke';
$result = $pdo->query($sql);
} catch (PDOException $e) {
$error = 'Error fetching jokes' . $e->getMessage();
include 'error.html.php';
exit();
}
foreach ($result as $row) {
$jokes[] = array(
'joketext'=> $row ['joketext'],
'jokedate'=> $row['joketext'],
'image'=> $row['image']
);
}
include 'jokes.html.php';
?>
非常感谢。
解决方案
在您尝试使用它之前初始化您的笑话变量,即:
$jokes = [];
try
{
$sql = 'SELECT * FROM joke';
$result = $pdo->query($sql);
} catch (PDOException $e) {
$error = 'Error fetching jokes' . $e->getMessage();
include 'error.html.php';
exit();
}
foreach ($result as $row) {
$jokes[] = array(
'joketext'=> $row ['joketext'],
'jokedate'=> $row['joketext'],
'image'=> $row['image']
);
}
推荐阅读
- scala - 对于可选的集合迭代和产量的理解
- tensorflow - 如何在 TF2 中动态更新批范数动量?
- sql - Postgres 聚合
- amazon-web-services - 如何在 Cloudformation 模板上为 AWS EC2 实例设置 MemorySize?
- docker - 泊坞窗图像中的重复层
- java - Admob 对我的帐户设置的限制超过 8 个月
- css - 如何将Container之间的空间与颤动的盒子阴影连接起来?
- kotlin - Kotlin 优化使用过滤器获取前 n 个元素
- python - PyInstaller 致命错误:无法执行脚本
- python - 如何将geojson中的属性置于所有属性之上?