php - 我的 PHP 语句有什么问题?

标签 php html mysql

我正在构建一个简单的 CMS 系统,但在我的代码中遇到了问题,我无法弄清楚哪里出了问题。

对于有经验的 PHP 开发人员来说,这应该是一个简单的修复。 HTML 文档中的一行 PHP 失败。

这是失败的代码行(以及一些周围的代码):

<?php $page = getPages($_GET["id"]); ?>
<h2>Edit Page</h2>
<div>
    <?php //echo returnPageError(); ?>
</div>
<form class="" action="/mycms/includes/process_edit.php" method="post">
    <input type="hidden" name="id" value="<?php echo $page['id']; ?>" > <!-- this is the line where my HTML cuts off on output
 <div class="mui-textfield mui-textfield--float-label">
    <input type="text" name="title" id="title" value="<?php echo $page['title']; ?>" >
    <label>Title</label>
 </div>

这是 getPages()功能:

function getPages(){
$pdo = DB::getConnection();
$sql = "SELECT id, title, body FROM pages";
$result = $pdo->query($sql);
return $result;
}  

如果我做 <?php var_dump($page); exit(); ?><?php $page = getPages($_GET["id"]); ?> 之后它提供了以下信息:

/home/jack/server.files/www/php/mycms/pages/edit.php:5: object(PDOStatement)[2] public 'queryString' => string 'SELECT id, title, body FROM pages' (length=33)

如果我做 <?php var_dump($page["id"]); exit(); ?><?php $page = getPages($_GET["id"]); ?> 之后它什么都不做!

开发工具中的控制台输出显示它在此处切断了 HTML 输出:

<form class="" action="/mycms/includes/process_edit.php" method="post">
    <input type="hidden" name="id" value=" 

我已经尝试并尝试解决这个问题,但其中一种情况是我的代码所特有的,因此在线搜索没有解决任何问题,正如我所说,对于有经验的 PHP 开发人员来说,这应该是一个简单的纠正。

最佳答案

您的 getPages 函数正在返回一个 PDOStatement 对象,而您正试图将其用作数组:$page["id"],这是无效语法。这会抛出一个您可能看不到的 fatal error ,它会停止脚本的执行。所以首先,如果可以的话,您可能想要打开错误报告。

其次,PDOStatement 对象具有实际从您的查询返回数据库行的函数。

在getPages中,你想返回:

$result->fetch(PDO::FETCH_ASSOC)

请记住,这只会返回查询的第一行,即搜索所有页面。

您还向 getPages 传递了一个变量,但没有使用它。从您的代码中,我无法判断您要做什么。似乎您将 GET 请求“id”变量传递给函数,然后查询数据库以获取相同的“id”...

http://php.net/manual/en/class.pdostatement.php

http://php.net/manual/en/pdostatement.fetch.php

关于php - 我的 PHP 语句有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40351580/

相关文章:

php - 如何使用 mysql -php 根据其category_id 检索 woocommerce 产品详细信息

php - 用户 'root' 已超出 'max_questions' 资源 1

css - 如何制作以下样式 :

php - 使用 PHP 生成随机唯一 ID

javascript - ionic 框架中的选项卡

html - 为什么我的 HTML 不使用 CSS 中定义的最后一个样式?

php - MySQL OR 在查询中

javascript - LZ 字符串压缩文本的 Mysql 数据类型

php - Wamp 服务器无法正确处理数据库的 PHP

php - 如何在 PHP 中插入后从 MYSQL 表中检索 ID