pdo读取excel php,PDO版本问题-PHPEXCEL 小记-PDO版本问题 Invalid parameter number: no parameters were bound_169IT....

首先是使用PHP Reader 读取Excle内容:

1 require("http://www.cnblogs.com/PHPExcel/Classes/PHPExcel.php");

2 $file = "D:\\datas.xlsx";

3 if(!file_exists($file)){

4 die("no file found in {$file}");

5 }

6 $datasReader = PHPExcel_IOFactory::load($file);

7 $sheets = $datasReader->getAllSheets();

8 //如果有多个工作簿

9 $countSheets = count($sheets);

10 $sheetsinfo = array();

11 $sheetData = array();

12 if($countSheets==1){

13 $sheet = $sheets[0];

14 $sheetsinfo["rows"] = $sheet->getHighestRow();

15 $sheetsinfo["column"] = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn());

16 for($row=1;$row<=$sheetsinfo["rows"];$row++){

17 for($column=0;$column

18 $sheetData[$column][$row] = $sheet->getCellByColumnAndRow($column, $row)->getValue();

19 }

20 }

21 }else{

22 foreach ($sheets as $key => $sheet)

23 {

24 $sheetsinfo[$key]["rows"] = $sheet->getHighestRow();

25 $sheetsinfo[$key]["column"] = PHPExcel_Cell::columnIndexFromString($sheet->getHighestColumn());

26 for($row=1;$row<=$sheetsinfo[$key]["rows"];$row++){

27 for($column=0;$column

28 $sheetData[$key][$column][$row] = $sheet->getCellByColumnAndRow($column, $row)->getValue();

29 }

30 }

31 }

32 }

33 echo "

";

34 print_r($sheetData);

35 echo "

";

注:使用PHP 读取excel文件内容,一般都是处理整理好格式的csv或者excel,也可以读取xml文件PHPExcel生成Exceel

$sql = sprintf("select * from table where op_id=%d", intval($this->params['id']));

$query = $this->_db->query($sql);

require_once './PHPExcel_1.7.4/Classes/PHPExcel.php';

$objPHPExcel = new PHPExcel();

$objPHPExcel->setActiveSheetIndex(0);

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10);

$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);

$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);

$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);

$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);

$objPHPExcel->getActiveSheet()->setCellValue('A1', "{$this->_packInfos['o_id']}");

$objPHPExcel->getActiveSheet()->setCellValue('B1', "Volume weight (kg)");

$objPHPExcel->getActiveSheet()->setCellValue('D1', "Actual weight (kg)");

$objPHPExcel->getActiveSheet()->setCellValue('A2', "Box No.");

$objPHPExcel->getActiveSheet()->setCellValue('B2', "P

[3]PDO版本问题 Invalid parameter number: no parameters were bound

来源:  发布时间: 2013-10-15

摘纪:

发现在客户的某个PHP版本下,执行某类操作的时候,总是会报如下错误 Invalid parameter number: no parameters were bound,经google,发现是php版本过低导致。

正文:

今天在处理bug的时候发现某一个很奇怪的问题,在执行某类操作的时候会报:Invalid parameter number: no parameters were bound,但是该问题在本地或是测试机上测试都没有重现,猜想是否和版本有关,于是就google了下,发现http://forum.typecho.org/topic.php?id=1501 该文的二楼说道,该问题是版本的bug,在php5.2.9以下的pdo中会出现。于是就是找了团队中另外一位同时的机子(5.2.6)做测试,果然重现该问题,他的服务器上5.2.17上测试,该问题没有出现。

在调试的时候,发现出现该类操作的时候有如下业务报以上错误:

用PDO往表nw_log(表字段一些列uid之类的,及content字段)中插入一条数据,其中content字段的内容为test,并且在入库之前表字段的内容会调用PDO->quote方法进行转义。在php5.2.6机子上则报如上错误,但是在5.2.17机子上表现正常。

当我仅仅只是将内容修改为http://a.xxx/?tid=1的时候,在5.2.6机子上和5.2.17机子上均表现正常,于是再次将内容格式调试为test,则5.2.6及5.2.17上均表现正常,看来是单引号惹的祸。

本文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值