如何使用数据库的数据并将其插入到另一个php文件的文本字段中

njthzxwz  于 2023-05-27  发布在  PHP
关注(0)|答案(2)|浏览(190)

我目前正试图使用我的数据库中的数据,并将其插入到一个公式,其中有多个文本字段。公式是在一个不同的php文件,当我试图插入数据,什么也没有发生。即使我有一个空白的网站,并试图通过echo打印出来,我的数据库中的数据都没有显示出来。
第一个文件是我获取所有连接和使用数据库的地方(config.php)

public function article_details($id){
    global $connection;
    $stmt = $connection->prepare("SELECT * FROM `items` WHERE item_name=:id");
    $stmt->bindparam(':id', $id);
    $stmt->execute();
 }

这个文件是当我点击a标签时的重定向,魔术发生了(view.php)

<?php
$id=$_GET['id'];
include('config.php');

#header("Location: Website.php?page=add_article");
$call = new article();
$call->article_details($id);
foreach ($call as $row)
    echo $row['item_name']; ?>

由于它是一个更大的项目与多个文件,我不想垃圾邮件他们都在这里。如果你需要更多的信息,让我知道。

bpsygsoo

bpsygsoo1#

你需要返回stmt对象然后调用fetch函数来显示数据

public function article_details($id){
    global $connection;
    $stmt = $connection->prepare("SELECT * FROM `items` WHERE item_name=:id");
    $stmt->bindparam(':id', $id);
    $stmt->execute();
     return $stmt;

 } 

$call = new article();
$stmt = $call->article_details($id);

while ($row = $stmt->fetch()) {
    echo $row['item_name']."<br />\n";
}
eimct9ow

eimct9ow2#

你的article_details函数没有返回任何东西,所以你基本上是把null传递给foreach循环。我想这个会有帮助。

class article {

//...

    public function article_details($id){
        global $connection;
        $stmt = $connection->prepare("SELECT * FROM `items` WHERE item_name=:id");
        $stmt->bindparam(':id', $id);
        $stmt->execute();
       return $stmt;
    }
}

然后...

$id=$_GET['id'];

include('config.php');

//header("Location: Website.php?page=add_article");

$myarticle = new article();

$details = $myarticle->article_details($id);

foreach ($details->fetch() as $row){

    echo $row['item_name'];

}

希望能帮上忙。

相关问题