PHP $_GET 文件无法从 mysql 数据库检索数据

标签 php mysql hyperlink

我有 PHP 脚本正在尝试从我的 mysql 数据库读取数据。第一个名为 news.php 的脚本从我的数据库中的某些行读取数据并以摘要形式显示它。它还为每篇文章生成一个独特的超链接,用户可以点击该超链接来阅读全文。

这是从我的数据库检索摘要的 news.php

<?php
    // connection string constants
    define('DSN', 'mysql:dbname=mynewsdb;host=localhost');
    define('USER', 'myadmin');
    define('PASSWORD', 'pwd2015');

    // pdo instance creation
    $pdo = new PDO(DSN, USER, PASSWORD);

    // query preparation
    $stmt = $pdo->query("
        SELECT title, introtext, id, created, created_by, catid
        FROM mynews_items
    ");

    // fetching results
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // if this returns 0 then it means no records are present
    echo count($result) . "\n";

    // the loop should print valid table
    foreach ($result as $index => $row) {
        if ($index == 0) echo '<table>';
        echo <<<HTM
<tr>
    <td>
        <span class="post-date">{$row['created']}</span>
    </td>
</tr>
<tr>
    <td>
        <h2 class="blog-post-title">{$row['title']}</h2>
    </td>
</tr>
<tr>
    <td>
        <p>
            {$row['introtext']}
        </p>
    </td>
</tr>

<tr>
    <td>
        <p>

            <a href='read.php?id={$row['id']}'><input type="button" value="Read More" /></a>
        </p>

    </td>
</tr>
<tr>
    <td>
        <div class="blog-meta">
            <img src="img/avatar.png" alt="Avatar" />
            <h4 class="blog-meta-author">{$row['created_by']}</h4>
            <span>Category: {$row['catid']}</span>
        </div>
    </td>
</tr>
HTM;
        if ($index == (count($result)-1)) echo '</table>';
    }

当您点击 <a href='read.php?id={$row['id']}'><input type="button" value="Read More" /></a> 生成的超链接时read.php 脚本应该从我的数据库中检索并显示完整的文章。存储文章的字段名为 fulltext

这是read.php文件

      <?php
    // connection string constants
    define('DSN', 'mysql:dbname=mynewsdb;host=localhost');
    define('USER', 'myadmin');
    define('PASSWORD', 'pwd2015');

    // pdo instance creation
    $pdo = new PDO(DSN, USER, PASSWORD);

    // query preparation
    $stmt = $pdo->query("
        SELECT fulltext
        FROM mynews_items
    ");
    echo htmlspecialchars($_GET["fulltext"]);

?>

有人可以指出我在 read.php 文件上犯的错误吗,因为它加载为空白页面,没有任何数据。

更新了 read.php 这是更新后的文件,但仍返回空白页。谁能指出其中的错误吗?

<?php
        $id = $_GET['id'];
        if(isset($_GET['id']))

    // connection string constants
        define('DSN', 'mysql:dbname=mynewsdb;host=localhost');
        define('USER', 'myadmin');
        define('PASSWORD', 'pwd2015');

    // pdo instance creation
        $pdo = new PDO(DSN, USER, PASSWORD);

    // query preparation
    // $stmt = $pdo->query("SELECT id, fulltext FROM fm16p_k2_items WHERE id='{$row['id']}'", PDO::FETCH_ASSOC);
    {
    $sql = mysql_query("SELECT fulltext * FROM fm16p_k2_items WHERE id = '{$id}'");
    $row = mysql_fetch_object($sql);
}

    echo $row->fulltext;

?>

最佳答案

尝试

$sql = $pdo->prepare("
    SELECT fulltext
    FROM mynews_items WHERE id = :id");

$sql->execute(array(':id' => $_GET['id']));
$stmt = $sql->fetchAll();

关于PHP $_GET 文件无法从 mysql 数据库检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32644736/

相关文章:

MySQL 显示分组结果

php - mysqli php 选择最近的条目 asc

css - 从 SVG 文档中的链接打开 CSS 模态框

javascript - 如何通过 _blank 和在后台在新窗口中打开链接?

php - 变量中名称请求的数组不起作用

php - 用于检查一个日期是否接近当前日期的 MySQL 查询

mysql - 带条件的 SUM 行的 SQL 语句

php - 带有 Bootstrap 4 的 Codeigniter 3 分页类

php - 为什么这个 PDO 语句会默默地失败?

html - 绝对定位 :before pseudo element take the focus of a child link