使用的php版本是7.0
自己写了一个mysql procedure
不过我想和这个无关
$str = 'call checkin(:stcode, :imei, @rs)';
$stmt = $cn->prepare($str);
$stmt->bindValue(":stcode", null, PDO::PARAM_NULL);
$stmt->bindParam(":imei", $this->imei);
$stmt->execute();
//在这行报错
//PHP Fatal error: Allowed memory size of 134217728 bytes
//exhausted (tried to allocate 574448776 bytes)
测试的情况是,如果
$cn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
这设定就会出错,如果
setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
就可以执行
并不是说可以执行就算了,用true并不算是利用到preare防止sql inject
有人有遇到类似的情况可以给个方向吗?
感恩