我有 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/