我正在创建一个个人资料页面,希望在其中显示用户的电子邮件。我认为这将是一个非常简单的代码,可以使用数据库中的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的身份登录,并且回显了电子邮件,但是一旦我更改了登录身份的人,就没有回显任何电子邮件。
我不确定为什么会遇到此问题,将不胜感激
答案 0 :(得分:0)
$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();
答案 1 :(得分:-1)
error connecting to mysql database through crazy domains
这听起来像是基于您作为登录用户的权限问题。
使用具有全局访问权限的“ root”用户密码进行测试,然后对其进行故障排除并将其隔离。我敢打赌,您会找到它的。
由于我没有您的数据库架构和用户帐户可用于验证,因此我几乎不可能进行远程测试。