从数据库中的行中选择数据

j0pj023g  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(386)

我正在制作一个配置文件页,我想在其中显示用户的电子邮件。我认为这将是一个非常简单的代码,可以通过使用数据库中的select函数来实现。然而,这只适用于一个字符串,我似乎不知道为什么。
这是我的原始代码

session_start();

$_SESSION["user"] = $username;
$_SESSION["pass"] = $password;
$_SESSION["email"] = $email;
$connection = mysqli_connect ("localhost", "root", "", "picshare");

if ($connection ->connect_error) {
    die("Connection failed: " . $connection->connect_error);
}else{

$query = mysqli_query($connection, "SELECT email FROM login WHERE username='".$_SESSION["user"]."'");
$field = mysqli_fetch_assoc($query); 

    if (!$query)
    {
        die('Error: ' . mysqli_error($con));
    }if(mysqli_num_rows($query) > 0){
        $field = mysqli_fetch_assoc($query);

}else{
echo "error";
$conn->close();

    }}

当我尝试回显$field时,什么也没有回显

<p class ="right uc"><?php       echo($field['email']);?></p>

我重试了代码,但是没有使用会话,而是创建了一个变量

$host = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "picshare";
$user = 'Eniola Olaogun';

$conn = new mysqli ($host, $dbusername, $dbpassword, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}else{

$query = mysqli_query($conn, "SELECT email FROM login WHERE username='".$user."'");
$field = mysqli_fetch_assoc($query); 

    if (!$query)
    {
        die('Error: ' . mysqli_error($con));
    }if(mysqli_num_rows($query) > 0){
        $field = mysqli_fetch_assoc($query);
        echo($field['email']);

}else{
echo "error";
$conn->close();

这段代码显示了电子邮件,因此我继续将$user变量更改为另一个名称,原来的问题发生在没有任何响应的地方。
我回到原来的代码,我以eniola olaogun的身份登录,邮件被回传,但我一改我的登录身份,邮件就没有回传。
我不知道为什么我会遇到这个问题,一些帮助将不胜感激

inn6fuwd

inn6fuwd1#

$host = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "picshare";
$user = 'Eniola Olaogun';

$conn = new mysqli ($host, $dbusername, $dbpassword, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
else {
$sql = "SELECT email FROM login WHERE username= {$user}";
$result = $conn->query($sql); 

if($result->num_rows > 0) {
        $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
        echo($row['email']);
}
else {
echo "error";
$conn->close();
vc6uscn9

vc6uscn92#

通过疯狂域连接到mysql数据库时出错
听起来这是一个权限问题,取决于您登录的用户。
使用具有全局访问权限的“root”用户密码进行测试,然后进行故障排除并将其从中隔离。我打赌到时候你会找到的。
我几乎不可能远程测试这个,因为我没有你的数据库模式和用户帐户来验证。

相关问题