mysql中按会话显示数据库中的用户数据

zbdgwd5y  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(300)

这个问题在这里已经有答案了

如何防止php中的sql注入(28个答案)
引用-这个错误在php中是什么意思(36个答案)
去年关门了。
我正在尝试显示用户会话密钥上的所有用户信息。当用户使用电子邮件登录时,所有相关信息都会根据用户电子邮件从数据库中提取,并通过会话键显示。但是,我不知道该怎么做。我使用了会话键'user',而我试图从中检索信息的表是“client”。
我得到的错误是“致命错误:未捕获错误:调用成员函数bind_param()”,所以我认为它不是sql语句就是bind参数。代码背后的逻辑可能不正确,可能需要额外的行。
任何帮助都将不胜感激!

<?php
        $user = $_SESSION["user"];
        $con=new mysqli("localhost:3308","root","","fypdatabase");
        $st=$con->prepare("select * from client where email=".$_SESSION['user']."");
        $st->bind_param("s", $user);
        $st->execute();
        $rs=$st->get_result();
        while($row=$rs->fetch_assoc())
        {
    echo '<div class="w3-container w3-third"> 
        <p><strong>'.$row["name"].'</strong></p>
        <p>'.$row["age"].'</p>
        <p>'.$row["sex"].'</p>
        <p>'.$row["weight"].' Weeks</p> 
        <p>'.$row["height"].'</p>
    </div>';
        }?>
yks3o0rb

yks3o0rb1#

您在查询中没有param请求(您错误地添加了php var$\u session['user'])您应该使用?对于参数

$st=$con->prepare("select * from client where email= ? ");
      $st->bind_param("s", $user);

相关问题