相对较新的PHP和SQL,尝试过研究修复,但迄今为止都没有成功。我正在努力开发的网站是学校作业的在线简历。
我正在尝试创建CRUD页面以动态创建,读取,更新和删除数据库中的记录。基本上我的问题是,我的if语句似乎无法通过其id(下例中的edu_ID)识别我的数据库行。这导致edu_ID为null并被重定向回useradmin.php
尝试从主用户管理页面导航到读取/更新页面时,会发生此问题。用户管理页面上显示的表格代码如下:
<?php
foreach ($pdo->query($sql) as $row) {
echo '<tr class="database">';
echo '<td class="database"><p>'. $row['dates'] . '</p></td>';
echo '<td class="database"><p>'. $row['institution'] . '</p></td>';
echo '<td class="database"><p>'. $row['qualification'] . '</p></td>';
echo '<td class="database truncate"><p>'. $row['description'] . '</p></td>';
echo '<td class="database"><p>';
echo '<button class="crud"><a href="eduread.php?id='.$row['edu_ID'].'">Read</a></button>';
echo '<button class="crud"><a href="eduupdate.php?id='.$row['edu_ID'].'">Update</a></button>';
echo '<button class="crud"><a href="edudelete.php?id='.$row['edu_ID'].'">Delete</a></button>';
echo '</p></td>';
echo '</tr>';
}
Database::disconnect();
?>
问题似乎与数据库连接无关,因为我能够在我网站的其他区域成功创建页面并从数据库加载数据。
以下代码适用于阅读页面:
<?php
require 'includes/connect.php';
$edu_ID = null;
if ( !empty($_GET['edu_ID'])) {
$edu_ID = $_REQUEST['edu_ID'];
}
if ( $edu_ID == null) {
echo 'not set';
header("Location: useradmin.php");
} else {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM education WHERE edu_ID = ?";
$q = $pdo->prepare($sql);
$q->execute(array($edu_ID));
$data = $q->fetch(PDO::FETCH_ASSOC);
}
?>
这是我试图显示此数据的代码,但这似乎不是问题所在:
<table>
<thead>
<tr>
<th>dates</th>
<th>instituation</th>
<th>qualification</th>
<th>description</th>
</tr>
</thead>
<tbody>
<?php
echo '<tr class="database">';
echo '<td class="database"><p>'. $data['dates'] . '</p></td>';
echo '<td class="database"><p>'. $data['institution'] . '</p></td>';
echo '<td class="database"><p>'. $data['qualification'] . '</p></td>';
echo '<td class="database"><p>'. $data['description'] . '</p></td>';
echo '</tr>';
?>
</tbody>
</table>
还关联了我的database schema
如果它是相关的,这里是我用来尝试设置我的页面http://www.startutorial.com/articles/view/php-crud-tutorial-part-2的教程的链接 (我选择稍微不同地显示我的数据,因为我没有像本教程中那样使用bootstrap,虽然我也尝试过使用bootstrap,纯粹因此我可以完全模仿教程并遇到相同的问题。)
非常感谢任何见解。