使用where和php会话变量从mysql打印单元格

时间:2011-07-10 21:32:58

标签: php mysql session-variables where-clause

我有2个适用于此问题的文件myaccount.phptest5.phptest5连接到MySQL数据库,它应该获取一个单元格的内容并将其打印出来。

<?php

mysql_connect("mysql8.000webhost.com", "a5470121_tahahn5", "travis2") or
   die(mysql_error());
mysql_select_db("a5470121_rhs3") or die(mysql_error());


$result = mysql_query(
  "SELECT `user_name`,`Classperiod1` FROM users
   WHERE user_name ='" . $_SESSION['user_name'] . "'"
) or die(mysql_error());  


 $row = mysql_fetch_array( $result );
 echo   $row['user_name'];

?>

第二个文件myaccount.php应该以html格式从php文件中输出打印输出

<h3> Your First ClassPeriod is<?php echo $row['Classperiod1']?></h3>  

我已经测试了这个并使用具有特定用户名的文件(ex.John,Andrew等)并且它将打印出课程期间罚款。由于某种原因尝试将WHERESESSION变量一起使用会阻止其打印。它甚至没有显示任何错误消息。 对代码中的任何错误表示道歉,或者这是一个非常愚蠢的问题。我几乎是一个关于PHP和MySQL的绝对初学者

1 个答案:

答案 0 :(得分:0)

您可能想要从您的问题中删除您的mysql详细信息!

您是否正在使用session_start()功能开始会话? http://php.net/manual/en/function.session-start.php

我也看不到你在哪里设置$_SESSION['user_name']

您可能会尝试回显您构建的mysql查询以查看它包含的内容,这有助于找出错误,我猜会话变量将为空。

例如:

$sql = "SELECT user_name,Classperiod1 FROM users WHERE  user_name ='" . $_SESSION['user_name'] . "'";
echo $sql;
$result = mysql_query($sql) or die(mysql_error());