gpt4 book ai didi

php - PDO foreach 不显示正在获取的数据

转载 作者:行者123 更新时间:2023-11-30 00:53:25 25 4
gpt4 key购买 nike

所以我这里有一个博客系统。

我的问题是,当我尝试从数据库中提取数据时,它没有显示。这是我当前的代码,谢谢!

index.php

<h1>News Blog</h1>
<form action="blog.php" method="POST">
username: <input type="name" name="name" placeholder="name"><br />
<textarea name="body" rows="10" cols="70"></textarea><br/>
<input type='submit' name='submit' value='Post' />
</form>

<?php
if(isset($_POST['name'], $_POST['body'])){
require'core/connect.php';

$query = dbConnect()->prepare("SELECT name, body FROM blog WHERE name =:name AND body = :body");
$query->bindParam(1, $_POST['name']);
$query->bindParam(2, $_POST['body']);

foreach($query-> fetchAll(PDO::FETCH_ASSOC) as $row){
echo $row['name'], '<br/><hr>';
echo $row['body'];
}
}
?>

如果需要的话,这是我的 blog.php

<?php
if(isset($_POST['name'], $_POST['body'])){
require'core/connect.php';

$query = dbConnect()->prepare("INSERT INTO blog (name, body) VALUES (?,?)");
$query->bindParam(1, $_POST['name']);
$query->bindParam(2, $_POST['body']);

if($query->execute()){
echo 'Thank you for posting! Click <a href="index.php">here</a> to go back.';
} else{
echo 'There has been an error';
}
}
?>

最佳答案

您需要修复您的 parameter binding第一的。您在查询中使用命名占位符,但在bindParam 调用中使用1-indexed 参数。然后你还需要执行查询:

$query = dbConnect()->prepare("SELECT name, body FROM blog WHERE name =:name AND body = :body");
$query->bindParam(':name', $_POST['name']);
$query->bindParam(':body', $_POST['body']);

$query->execute();

foreach($query->fetchAll(PDO::FETCH_ASSOC) as $row){
echo $row['name'], '<br/><hr>';
echo $row['body'];
}

关于php - PDO foreach 不显示正在获取的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20781047/

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