간단한 PDO 드라이버를 사용하여 PHP 5.3.2, Ubuntu, MySQL 5.1.41, CodeIgniter 2.0.0을 사용합니다.PHP PDO long sql 문 응답 없음
우리가 쿼리 (PHP는 아니지만)에 긴 문자열 (약 11, 12 킬로바이트)을 보내면 MySQL에서 오류나 응답을 반환하지 않습니다. 구문 오류가없고 경고도없고 HTTP 오류도없고 아무 것도 없습니다. PHP는 "보류"상태를 유지합니다.
데이터 문자열이 몇 킬로바이트 짧으면 쿼리가 실행되고 데이터가 데이터베이스에 올바르게 삽입됩니다.
우리는 ~ 11kbytes보다 큰 경우에 MySQL이 보낸 쿼리를받지 못한다고 생각합니다.
PDO::prepare
또는 PDOStatement::execute
중 하나가 실패합니다.
쿼리 :라고
select simpleupdatestoredprocedure(15, 'loooong string');
기능 : $this->conn
메인 PDO 개체이며 $q
가 PDOStatement
개체입니다
function _execute($sql)
{
$q = $this->conn->prepare($sql);
$q->execute();
return $q;
}
. (우리는 코드의이 부분에서 CodeIgniter 특정 항목을 사용하지 않습니다.)
전달할 수있는 데이터 또는 쿼리의 길이를 제한하는 숨겨진 설정이 있습니까? 필요한 경우이 문제가 발생할 때 정확한 바이트 수를 찾습니다.