我想要传递一个数组到另外一个页面,用了这样的方法 $_SESSION['data'] = serialize($commoditycount);然后在另一个页面用$data = unserialize($_SESSION['data']);取出数组中的key,和value没有做任何处理,直接就用key和value查询了数据库,但是不行,是哪里出现了问题,在线等,问题解决纠结贴

解决方案 »

  1.   

    session_start() 有没有正确的添加?print_r($_SESSION['data']);
    print_r($data);另外输出数组看看什么内容
      

  2.   


    session_start(),在最前面添加了,已经启动了session,数组也能够传递,但在另外一个页面用反序列化出来的key进行sql查询,sql语句不是我想要的,我判断了一下返回的结果不是空,但查询结果输不出来:{i:14;s:1:"1";i:13;s:1:"2";}这是print_r($_SESSION['data']);的输出内容,这是反序列化输出的$data内容
    Array ( [14] => 1 [13] => 2 ) 
      

  3.   


    我想是不是需要将反序列化出来的key和value进行一下处理才能进行sql语句查询呢
      

  4.   


    数组是没有问题的。
    你的sql那部分怎么写的呢?
      

  5.   

    你的sql语句,mysql链接函数和读取输出函数呢?把整个程序贴出来看看啊
      

  6.   

    传递前的数组,与接收后的打印一下,是否一样。
    sql打印出来看看,是否正确
      

  7.   

    hile(list($key,$value)=each($data)){ echo"$key  :   $value<br>";
    //查询commodity的信息,进行修改,,,,,,,。估计问题出在这里???
    $select="select * from commodity where Id='.$key.';"; $result=mysql_query($select);
    }
    这个是我的一个sql语句
      

  8.   


    while(list($key,$value)=each($data)){ echo"$key  :   $value<br>";
    //查询commodity的信息,进行修改,,,,,,,。估计问题出在这里???
    $select="select * from commodity where Id='.$key.';"; $result=mysql_query($select);这是我的一个SQL语句
      

  9.   

    问题总于解决了,sql语句不对$select="select * from commodity where Id='.$key.';";这是错误的写法,这缺德写法$select="select * from commodity where Id='$key';";
      

  10.   

    $result=mysql_query($select);
    while($res = mysql_fetch_array($result)){
       //print_r($res);
    }这个$res才是最终的结果,$result中保存的不是结果。