因为要做个install.php,想跨页传递一些变量,就用到了session
在前一张页面里定义了个SESSION变量:$_SESSION['conn']=mysql_connect('localhost','root','123');
但是在下一张页面里 mysql_select_db('abc',$_SESSION['conn']); 却失败,为什么?
像这样写却成功了:
mysql_select_db('abc',mysql_connect('localhost','root','123'));

解决方案 »

  1.   

    下一个页面使用session_start()了吗?
      

  2.   

    页面结束,自动会mysql_close($linkid);
    如果想长连接你可以看看mysql_pconnect的用法
      

  3.   

    学习了赞成2楼的说法。
    mysql_connect返回的是一个MySql连接标识。在第一个页面完毕时连接已经关闭,标识自然就失效了。到第二个页面时再调用这个标识肯定不行了。
    mysql_select_db('abc',mysql_connect('localhost','root','123'));这样写其实就是重新连接数据库,当然成功。
      

  4.   

    但是在下一张页面里 mysql_select_db('abc',$_SESSION['conn']); 却失败,为什么?//因为获取不到$_SESSION['conn']的值你要在
    mysql_select_db('abc',$_SESSION['conn']);前面加session_start();而且session_start();要放在开头像这样
    session_start();
    mysql_select_db('abc',$_SESSION['conn']);