gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 06:07:44 26 4
gpt4 key购买 nike

我正在构建一个简单的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com