$end error.

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
sturekdrf
Forum Newbie
Posts: 6
Joined: Wed Jun 13, 2012 11:19 pm

$end error.

Post by sturekdrf »

Getting the following error
Parse error: syntax error, unexpected $end in /home/content/91/9347091/html/utbgaming/core/inc/posts.inc.php on line 87

Code: Select all

<?php
//check if there is a post
function valid_pid($pid) {
	$pid = (int)$pid;
	
	$total = mysql_query("SELECT COUNT(`post_id`) FROM `posts` WHERE `post_id` {$pid}");
	$total = mysql_result($total, 0);
	
	if ($total !=1){
		return false;
	}else{
		return true;
}
 ?>
 <?php
//Fetches a summery of all blog posts
function get_posts(){
	$sql = "SELECT
				`posts`.`post_id` AS `id`,
				`posts`.`post_title` AS `title`,
				LEFT(`posts`.`post_body`, 512) AS `preview`,
				`posts`.`post_user` AS `user`,
				DATE_FORMAT(`posts`.`post_date`, '%d/%m/%y %H:%i:%s') AS `date`,
				`comments`.`total_comments`,
				DATE_FORMAT(`comments`.`last_comment`, '%d/%m/%y %H:%i:%s') AS `last_comment`
			FROM `posts`
			LEFT JOIN (
			SELECT
			`post_id`,
			COUNT(`comment_id`) AS `total_comments`,
			MAX(`comment_date`) AS `last_comment`
			FROM `comments`
			GROUP BY `post_id`
			) AS `comments`
			ON `posts`.`post_id` = `comments`.`post_id`
			ORDER BY `posts`.`post_date` DESC";
	
	$posts = mysql_query($sql);
	
	$rows = array();
	while (($row = mysql_fetch_assoc($posts)) !==false){
		$row[] = array (
			'id'			=>$row['id'],
			'title'			=>$row['title'],
			'preview'		=>$row['preview'],
			'user'			=>$row['user'],
			'date'			=>$row['date'],
			'total_comments' =>($row['total_comments'] === null) ? 0 : $row['total_comments'],
			'last_comment'	=>($row['last_comment'] === null) ? 'never' : $row['last_comment']
		);
}
	return $rows;
}
?>

<?php
//gets a single post from the table.
function get_post($pid){
	$pid = (int)$pid;
	
	$sql = "SELECT
			`post_title` AS `title`,
			`post_body` AS `body`,
			`post_user` AS `user`,
			`post_date` AS `date`
			FROM `posts`
			WHERE `post_id` = {$pid}";
			
			$post = mysql_query($sql);
			$post = mysql_fetch_assoc($post);
			
			$post['comments'] = get_comments($pid);
			
			return $post;
}
?>
//adds new blog entry
<?php
function add_post($name, $title, $body){
	$name = mysql_real_escape_string(htmlentities($name));
	$title = mysql_real_escape_string(htmlentities($title));
	$body = mysql_real_escape_string(nl2br(htmlentities($body)));
	
	mysql_query("INSERT INTO `posts` (`post_user`, `post_title`, `post_body`, `post_date`) VALUES ('{$name}', '{$title}', '{$body}', NOW())");
}

?>
Now line 87 is the very last line in this code acording to my editor, but how is ?> wrong?
User avatar
requinix
Spammer :|
Posts: 6617
Joined: Wed Oct 15, 2008 2:35 am
Location: WA, USA

Re: $end error.

Post by requinix »

The $end error almost always means you missed a closing } somewhere. In this case you never closed valid_pid().
Post Reply