Echo只是数据库行的值

时间:2016-12-27 14:29:08

标签: php mysql

我从数据库行中获取值时遇到一些麻烦。我有一个工作数据库连接的页面。我想要的是使用类似<?php echo $value;?>的内容来回显特定行的值,其中$value是以下代码:

    $sql = "SELECT * FROM assortiment WHERE Id = 11481";
    $result = mysqli_query($conn, $sql);
        if (mysqli_num_rows($result) > 0) {
            // output data of each row
            while($row = mysqli_fetch_assoc($result)) {
                    echo $row["Fotomateriaal"];
                }
            } else {
                echo "No results";
            }   

为什么呢?因为使用这段代码输出:72157634651630294。这是我想要获得的价值。但我想以<?php echo value;?>之类的形式使用它,因为我试图在这段代码中使用它:

echo do_shortcode( '[slickr-flickr id="21@XXX" search="sets" set="' . $value . '" size="large" items="19" bottom="30" responsive="on" orientation="landscape" restrict="orientation" type="galleria" galleria_options="lightbox:true;thumbnail:lazy"]'); 

我试过了:

do_shortcode( '[slickr-flickr id="21@XXX" search="sets" set="' . $sql . '" size="large" items="19" bottom="30" responsive="on" orientation="landscape" restrict="orientation" type="galleria" galleria_options="lightbox:true;thumbnail:lazy"]');

但这只是回应代码而不是价值。会这样的吗?这段代码不起作用......

$sql = "SELECT * FROM assortiment WHERE Id = 11481";
echo $row["Fotomateriaal"];

我希望我明确表达了我想要做的事情。这里有点难以解释......

1 个答案:

答案 0 :(得分:2)

您可以将查询结果存储在变量中,稍后在代码中使用

if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        $value = $row["Fotomateriaal"];
    }
} else {
    $value = "No results";
}   

现在在$value中,您拥有查询返回的记录。我假设只返回一行。您的最新示例无效,因为您没有执行查询,也没有获取任何数据。