-1

谁能告诉我这段代码有什么问题?

<?php if($this->session->userdata('login_user_id'));?>
<?php $a = $this->session->userdata('login_user_id');?>
<?php $data = mysql_query("SELECT * FROM user WHERE id='$a' AND specialrank='0'") 
 or die(mysql_error());while($info = mysql_fetch_array( $data ));?>
 Hi
<?php else:?>
<?php endif;?>

应该对登录的用户说“嗨”,我使用了同一网站其他部分的相同编码,这些编码有效。然而,这是抛出错误。有任何想法吗?

4

3 回答 3

4
if($this->session->userdata('login_user_id'));

你在这里有一个分号而不是一个冒号。

于 2013-11-05T22:39:31.263 回答
2

;你在结尾有if问题while

第一的:

<?php if($this->session->userdata('login_user_id'));?>

应该:

<?php if($this->session->userdata('login_user_id')): ?>

第二:

<?php $data = mysql_query("SELECT * FROM user WHERE id='$a' AND specialrank='0'") 
 or die(mysql_error());while($info = mysql_fetch_array( $data ));?>
 Hi
<?php else:?>

应该是(可能):

<?php $data = mysql_query("SELECT * FROM user WHERE id='$a' AND specialrank='0'") 
 or die(mysql_error());while($info = mysql_fetch_array( $data )): ?>
 Hi
<?php endwhile; ?>
<?php else: ?>
于 2013-11-05T22:39:49.790 回答
0

在您的第一个 if 语句之后,您需要使用冒号:而不是分号;

<?php if($this->session->userdata('login_user_id')): ?>

就个人而言,我更喜欢使用大括号而不是替代语法来增加可读性。

于 2013-11-05T22:41:17.840 回答