我在尝试检索存储在MYSQL数据库中的用户个人资料链接时遇到问题。
我尝试运行此代码来选择userprofile(存储用户个人资料图片链接的位置),但它出现了500错误。
<?php
$stmt = $DB_con->prepare('SELECT id, userprofile FROM users ');
$stmt->execute();
if($stmt->rowCount() > 0)
{
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
extract($row);
?>
链接存储在userprofile列中。
HTML(function.php中包含数据库信息):
<?php
include('functions.php');
if (!isAdmin()) {
$_SESSION['msg'] = "You must log in first";
header('location: ../login.php');
}
?>
<!DOCTYPE html>
<html>
<head>
<title> Admin Home</title>
</head>
<body>
<div class="header">
<h2>Admin - Home Page</h2>
</div>
<div class="content">
<!-- notification message -->
<!-- logged in user information -->
<div class="profile_info">
<img src="uploads/<?php echo $row['userprofile']; ?>" class="img-rounded" width="250px" height="250px" />
<div>
<?php if (isset($_SESSION['user'])) : ?>
<strong><?php echo $_SESSION['user']['username']; ?></strong>
<small>
<i style="color: #888;">(<?php echo ucfirst($_SESSION['user']['user_type']); ?>)</i>
<br>
<a href="home.php?logout='1'" style="color: red;">logout</a>
<a href="create_user.php"> + add user</a>
</small>
<?php endif ?>
</div>
</div>
</div>
</body>
</html>
登录的测试用户的图像(Bigfella)
关于它为什么没有从数据库中检索图像链接的任何想法?提前致谢!!
答案 0 :(得分:0)
您需要}
关闭while()循环,而另一个}
关闭if语句。
一般来说,要弄清楚PHP 500错误,如果您无权更改错误报告或以命令行模式运行(大多数共享主机将不提供任何选项),请删除代码语句(或二进制1/2你的语句),直到你有一部分工作,并一次添加一行,希望你能找到语法错误。 500可能意味着很多东西,但使用PHP我发现它通常意味着致命的语法错误。
答案 1 :(得分:0)
500 html错误表示在尝试提供页面时服务器上存在一些错误。
这意味着您可能会在
中生成错误的网址 <img src="uploads/<?php echo $row['userprofile']; ?>" class="img-rounded" width="250px" height="250px" />
或者服务器端有一个覆盖,它使得对某个URL路径的每次调用都由脚本提供。
如果您使用的是Apache / HTTPD,请尝试检查.htaccess
文件
答案 2 :(得分:0)
1。)500错误是服务器错误。这里的原因似乎是不正确的语法。试试这个:
<?php
...
if($stmt->rowCount() > 0)
{
// Since you want only one row (one user) you can drop the while
$row=$stmt->fetch(PDO::FETCH_ASSOC);
extract($row);
}
?>
2.。)为什么要从所有用户加载id
和userprofile
值?
由于您一次只显示一个用户的信息,因此如果您使用更具选择性的内容会更好:
$stmt = $DB_con->prepare('SELECT `id`, `userprofile` FROM users WHERE `email`='.$clean['emailAddress']);
答案 3 :(得分:0)
我最终解决了500错误无法处理请求,而不是在开始时将代码移到<!DOCTYPE html>
以下,并且它工作得很好没有错误,所以我没有线索发生了什么,但现在正在工作!谢谢所有提供帮助我尝试解决这个问题的人! :)