我正在编写社交网络,当新闻源上显示帖子时,个人资料图片和作者姓名将不会显示。这是我的代码:
$owner_id=mysql_result($result,$i,"post_owner_id"); //Post writer's user ID
$content=mysql_result($result,$i,"content"); //Content of the post
$date=mysql_result($result,$i,"date"); //Date
$time=mysql_result($result,$i,"time"); //Time
$poi_query=mysql_query("SELECT firstname, lastname, profile_picture FROM users WHERE id = '" . $owner_id . "'"); //MYSQL query to get the information of the post writer using user ID
$post_firstname=mysql_result($poi_query, 0, "firstname"); //Writer's first name
$post_lastname=mysql_result($poi_query, 0, "lastname"); //Writer's Last name
$post_profile_picture=mysql_result($poi_query, 0, "profile_picture"); //Writer's profile picture
?>
<div class="post">
<h1 class="post-title"><a href="profile.php?user=<?php echo $owner_id; ?>"> <?php echo $post_firstname; ?> <?php echo $post_lastname; ?></a></h1>
<p class="content"><?php echo $content; ?></p>
<p class="details"><?php echo $date; ?> at <?php echo $time; ?></p>
<br/><hr/><br/>
</div>
除了名称和图片之外,其他所有功能都非常好。有帮助吗?我几乎肯定它与poi_query有关... 顺便说一句,如果我手动输入用户ID,所有代码在终端中都能正常工作。
Config.inc:
<?php
$hostname = 'localhost'; // Your MySQL hostname. Usualy named as 'localhost', so you're NOT necessary to change this even this script has already online on the internet.
$dbname = 'social-network'; // Your database name.
$username = 'root'; // Your database username.
$password = '********'; // Your database password. If your database has no password, leave it empty.
// Let's connect to host
mysql_connect($hostname, $username, $password) or DIE('Connection to host is failed, perhaps the service is down!');
// Select the database
mysql_select_db($dbname) or DIE('Database name is not available!');
?>
答案 0 :(得分:0)
我唯一能看到的是,可能会从owner_id中删除引号吗?
$poi_query=mysql_query("SELECT firstname, lastname, profile_picture FROM users WHERE id = " . $owner_id);
答案 1 :(得分:0)
更改此行:
$poi_query=mysql_query("SELECT firstname, lastname, profile_picture FROM users WHERE id = '" . $owner_id . "'");
为:
$poi_query=mysql_query("SELECT firstname, lastname, profile_picture FROM users WHERE id = '" . $owner_id . "'") or die(mysql_error());
查看您是否收到有关MySQL查询的错误消息。
编辑:
此处的问题最终成为干扰mysql_close();
作业的电话$poi_query
。
答案 2 :(得分:-1)
尝试
$poi_query=mysql_query("SELECT firstname, lastname, profile_picture FROM users WHERE id = " . $owner_id) or die(mysql_error());
或尝试转储变量以查看它给出的内容
var_dump($poi_query);
这将帮助您缩小问题范围