php中如何传值和获取值

error_reporting(E_ALL ^ E_NOTICE);
$conn=mysql_connect('localhost','root','123456');
mysql_select_db('HouseDB',$conn);
mysql_query("set names 'UTF-8'");
$user=$_POST['user'];
$pass=$_POST['pass'];
if($_POST['submit'])
{
$sql="select * from customers where LoginName='$user' and PassWord='$pass'";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);
echo $row[0];
$_SESSION['id']=$row[0];
if($row[0]!=0)
{
header("Location: http://localhost/phptest/house/listhouse.php");
exit;
}
else
{
echo $row[0];
echo "登录失败!";
}
}

请各位帮我看看,为什么echo $row[0]; 显示不出值呢 数据库中有三个字段,id,user,pass 可是用户名和密码输入正确了 还能正常跳转 请各位帮帮忙 替我看一下 谢谢!!!
按照jamy所说 用户名和密码都对的情况下 那Row[0]就肯定有值了 就已经保存在SESSION里了 可是别的页面还是获取不到 为什么啊?

第1个回答  推荐于2016-10-06
error_reporting(E_ALL ^ E_NOTICE);
$conn=mysql_connect('localhost','root','123456');
mysql_select_db('HouseDB',$conn);
mysql_query("set names 'UTF-8'");
$user=$_POST['user'];
$pass=$_POST['pass'];
if($_POST['submit'])
{
$sql="select * from customers where LoginName='$user' and PassWord='$pass'";
$query=mysql_query($sql);
$row=mysql_fetch_array($query);
echo $row[0];//如果用户名和密码都对的情况,这里的输出肯定能看到的,但是这里输出后,马上就会执行跳转了,所以你无法调试
$_SESSION['id']=$row[0];
if($row[0]!=0)
{
header("Location: http://localhost/phptest/house/listhouse.php");
exit;
}
else
{
echo $row[0];//这里的输出肯定是看不到的了,因为$row[0]没有赋值,sql语句根本就没有查到值的嘛
echo "登录失败!";
}
}

session不是这样使用的

按如下操作
session_start();//开始session,session_start之前不能有任何输出,一般都会放在文件顶部
session_register("ses_id");//注册session变量
$ses_id=$row[0];//给注册过的session变量赋值本回答被提问者采纳
第2个回答  2010-07-21
得到的$row是一个数组,不能用echo,要用print_r()函数;
第3个回答  2010-07-21
查查print_r()
第4个回答  2010-07-21
echo $row[0]['id'];