php上传excel并批量添加数据到pgsql的问题,期待高人解答!
本帖最后由 jkxlh20120001 于 2013-05-14 21:41:53 编辑            下面这个代码的作用是上传excel并读取其中的数据,批量添加数据到pgsql数据库中,目前已成功实现上传并将数据读出来,但是在批量插入数据时出现错误(无法执行sql语句),但用输出的$sql的值的语句直接在pgadminiii中运行,又是成功的。哪位大神帮助看一下,不胜感激!
 0)
    {
    echo return code:  . $_files[file][error] . 
;
    }
  else
    {
     if(move_uploaded_file($_files[file][tmp_name],xlstmp/ .$remotefilename)==1)
	 {
	    //上传成功并开始读取xls文件
		$data = new spreadsheet_excel_reader();
        $data->setoutputencoding('cp936');
		$data->read(xlstmp/ .$remotefilename);
		$count=0;
		if($data->sheets[0]['numrows']>=2 && $data->sheets[0]['numcols']>=2)
		{
			for ($i = 2; $i sheets[0]['numrows']; $i++)
			{
			$s=;
			for ($j = 1; $j sheets[0]['numcols']; $j++)
				{
				if(strlen($data->sheets[0]['cells'][$i][$j])==0) break;
				$s.= $data->sheets[0]['cells'][$i][$j].|;
				}
			 if(strlen($s)!=0)
				{
				 $count++;
				$ss =explode('|',$s);//将关键词以空格分割到数组中。
// $sql=insert into zikao_tzd_kecheng(\kc_dm\,\kc_mc\)  values('1111','ok');
//执行上面这句都是可以的
				 $sql=insert into zikao_tzd_kecheng(\kc_dm\,\kc_mc\)  values('.$ss[0].','.$ss[1].');
//执行上面这句就不成功。
				// $sql=insert into zikao_tzd_kecheng(\kc_dm\,\kc_mc\)  values('.$data->sheets[0]['cells'][$i][1].','.$data->sheets[0]['cells'][$i][2].');
echo $sql.
;
                 $result = $pg -> query($sql);				 
				 }
			}
			echo $count.records;
		}
		else
		 {
			echo xls's rows or columns is so few.;
		 }
}
	 else
         echo upload failed.;
    }
 }
else
  {
  echo invalid file;
  }
   $pg ->close();
?>
php                    sql                    pgsql                                                  分享到:                                                
------解决方案--------------------
没有错误信息吗
------解决方案--------------------
你这个应该是页面编码的问题。中文可能乱码了。
mysql_query('set names utf8')
   
 
   