首页 > 解决方案 > PHP PDO 从 mysql 获取数据并回显它们

问题描述

我知道这对某些人来说很容易,但我对这个主题还很陌生。我正在尝试从我的数据库中读取以下值,以获得正常的 HTML 页面,该页面应该从数据库中获取值,而不必在 HTML 中更改它。整个事情不应该发生在一个表格中,而应该简单地通过 ECHO 输出不同区域的值。

以我的代码为例,我做了什么,但停留在如何仅回显该值。

    $sth = $conn->prepare("SELECT text_beschreibung FROM magical_moments_text");
    $sth->execute();

    $result = $sth->fetchAll(\PDO::FETCH_NUM);
    var_dump($result);

结果是这个

    array(3) { 
        [0]=> array(1) {
             [0]=> string(2) "33" 
        } 
        [1]=> array(1) {
             [0]=> string(3) "555" 
        } 
        [2]=> array(1) { 
            [0]=> string(3) "444" 
        } 
    }  

现在到了我不知道下一步该做什么的部分。我不想输出 var_dump,而只想输出“”中的值。但整个事情应该像这样工作

echo $result[1]; 

对于最后一个例子,我的意思是我试图这样解释

<?php
$sth = $conn->prepare("SELECT text_beschreibung FROM magical_moments_text");
$sth->execute();

$result = $sth->fetchAll(\PDO::FETCH_NUM);
    
?>
<html>
    <body>
        <p>The following code should give me <?php echo $result[0]; //33 ?></p>     
        <p>The following code should give me <?php echo $result[1]; //555 ?></p>        
        <p>The following code should give me <?php echo $result[2]; //444 ?></p>        
    </body>
</html>

如果我使用这个方法,它会给我这个

Notice: Array to string conversion in

希望我解释得足够好。谢谢你的帮助。

标签: phpmysql

解决方案


通常我会做这样的事情

$qry = "SELECT text_beschreibung FROM magical_moments_text";
$stmt = $conn->prepare($qry); # good practice on using prepared stmt
$stmt->execute();
$result = $stmt->get_result();

然后循环 $result

while ($row = $result->fetch_assoc()) {
    echo("<p>The following code should give me ". $row['text_beschreibung'] ."</p>");
}

推荐阅读