应该设置PHP / MySql if语句返回null

时间:2016-06-23 05:34:05

标签: php mysql

相对较新的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,纯粹因此我可以完全模仿教程并遇到相同的问题。)

非常感谢任何见解。

0 个答案:

没有答案