Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在会话中保存数据库行Id以供以后使用_Php_Mysql_Session - Fatal编程技术网

Php 在会话中保存数据库行Id以供以后使用

Php 在会话中保存数据库行Id以供以后使用,php,mysql,session,Php,Mysql,Session,我试图在php会话中保存行$row['Id'],以便在下一页使用此变量动态填充$product\u Id变量 到目前为止,我得到的是: <?php $sql = "SELECT * FROM assortiment WHERE Categorie = '$productid' ORDER BY Id DESC "; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data

我试图在php会话中保存行
$row['Id']
,以便在下一页使用此变量动态填充
$product\u Id
变量

到目前为止,我得到的是:

<?php $sql = "SELECT * FROM assortiment WHERE Categorie = '$productid' ORDER BY Id DESC ";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        SESSION_START();
        $identi = $row['Id'];
        $_SESSION["product_id"] = $identi;
        echo "<a href='/dbtest/dinner/amsterdam/".$row["Slug"]. "/" . $row["Id"] . "'><div class='products'><div class='col-sm-3'><div class='product-img'>";
        echo "<img src='http://www.example.nl/Uploaded_files/Thumbs/" .$row['Fotomateriaal']. ".jpg'>";
        echo "</div></div><div class='col-sm-6'>";
        echo "<div class='h2-container'><h2>" . $row["Product"]. "</h2></div>" .  $row["Samenvatting"]. "" . $_SESSION["product_id"] . "";
        echo "</div><div class='col-sm-3'><div class='col-sm-12 text-right'>
                    <div class='border'>
                        <p style='margin-bottom:20px;width:30px;'><i class='fa fa-heart' aria-hidden='true'></i></p>
                    </div>
                </div>";
        echo "<table>
                <tr>
                    <td><i class='fa fa-users' aria-hidden='true'></i></td>
                    <td><p>vanaf 10 personen</p></td>
                </tr>
                <tr>
                    <td><i class='fa fa-clock-o' aria-hidden='true'></i></td>
                    <td>" . $row["Tijdsduur"] .  " uur</td>
                </tr>
                <tr>
                    <td><i class='fa fa-euro' aria-hidden='true'></i></td>
                    <td>vanaf " . $row["VerkoopPP40"] ." p.p. <small>excl btw</small></td>
                </tr>
            </table></div></div></a>";
    }
} else {
    echo "0 results";
}?>
我认为它没有被存储,或者(可能)我做错了?我在数据库查询的另一部分中发现启动会话的堆栈溢出:

<?php 
    $sql = "SELECT * FROM assortiment WHERE Subcategorie = '$product_id'";
    $result = mysqli_query($conn, $sql);
    if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        $fotos = $row["Fotomateriaal"];
        $productnaam = $row["Product"];
        $contenttext = $row["WebTekst"];
        $tijdsduur = $row["Tijdsduur"];
        $prijs = $row["VerkoopPP40"];
        $sub = $row["Subcategorie"];
        $cate = $row["Categorie"];
        $seo = $row["SEO_Pagetitle"];
        $youtube = $row["Actief_Avontuur"];
        $_SESSION["product_id"] = $row["Id"];
            }
} else {
    $value = "Geen resultaten";
}       ?>

实际上您编写了
会话_start()以错误的方式(
SESSION_START();
)和错误的位置(在
while()内)


在每个php页面上添加
session_start()
会话_start()后,在每页顶部的code>Holly后,在每个php页面的顶部添加code>。。。好吧,我现在就躺在耻辱的角落里。这就成功了!为什么我没看到这个。。。谢谢您需要在每个页面顶部调用
session\u start()
,该页面应该能够访问
$\u session
(因此,至少是您正在向
$\u SESSION
添加值的页面,以及您希望从中读取值的页面。@Steggie不管羞耻。我们从中学习mistakes@Steggie我添加了它作为答案。你可以接受它也许我应该提出一个新问题,但是,你可能知道为什么它只存储最后一个项目Id而不是所有的项目吗分开?@Steggie,因为您在while循环中一次又一次地重写会话变量。因此,将其替换为:-
$\u session[“product\u id”]=$identi;
write
$\u session[“product\u id”][=$identi;
我执行了以下操作:
$identi=$row['id'];$\u session[“product\u id”]=array();$\u session[“product\u id”]=$identi;var_dump($_SESSION['product_id']);
var_dump给了我这个
array(1){[0]=>string(5)“12611”}
但是会话只存储单词
array
没有更多…@Steggie用那么多的代码问另一个问题。(这里没有完整的代码)Hesr不可能看到并说出答案请看这个,谢谢:
<?php 
    $sql = "SELECT * FROM assortiment WHERE Subcategorie = '$product_id'";
    $result = mysqli_query($conn, $sql);
    if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        $fotos = $row["Fotomateriaal"];
        $productnaam = $row["Product"];
        $contenttext = $row["WebTekst"];
        $tijdsduur = $row["Tijdsduur"];
        $prijs = $row["VerkoopPP40"];
        $sub = $row["Subcategorie"];
        $cate = $row["Categorie"];
        $seo = $row["SEO_Pagetitle"];
        $youtube = $row["Actief_Avontuur"];
        $_SESSION["product_id"] = $row["Id"];
            }
} else {
    $value = "Geen resultaten";
}       ?>