저는 PHP 응용 프로그램을 zend 프레임 워크로 변환하고 Zend_Db_Table을 사용하여 쿼리를 작성합니다. 내 문제는 zend 형식으로 변환 한 후 텍스트 형식 필드에 대한 예상 결과가 저장된 데이터 대신 빈 문자열을 반환한다는 것입니다.Zend_Db_Table 누락 된 데이터를 선택하십시오. 직접 PHP 쿼리 OK
텍스트 필드 길이가 11000 인 레코드는 항상 공백을 반환하지만 길이가 2500 인 다른 레코드는 항상 올바르게 반환됩니다.
구성해야 할 것이 있습니까? zend db 테이블을 사용하여 반환되는 데이터에 제한이 있습니까?
mysqli를 사용하여 MySQL은, true를 돌려PHP, VAR 값
$db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$stmt= "select * from m_message where m.m_id='".$m_id."'";
$result = $db->query($q_message);
$의 원인이있다 [ 'm_content'] "나는의 사본을 가지고 ..."동일 (11000 개 문자/길이)
젠드 pdo_mysql를 사용가 true를 반환하고, VAR 값
$this->_db = Zend_Db_Table::getDefaultAdapter();
$stmt = $this->_db->query('SELECT m_content FROM m_message WHERE m_id = ? ', $messageId);
$result = $stmt->fetchAll();
$의 원인이없는 [ 'm_content는']은 (문자열)
동일3210$this->_db = Zend_Db_Table::getDefaultAdapter();
$stmt = $this->_db->select()->from('m_message', 'm_content')->where('m_id = ?',$messageId);
$result = $this->_db->fetchAll($stmt);
$가 발생할 [ 'm_content는']
는 넷빈즈에서 디버깅하는 동안 변수를 보면서이 널 등장했다 끈다 (문자열)
업데이트 같습니다. 변수의 var_dump가 실제로 예상대로 데이터를 표시했습니다. JSON 도우미를 사용하여 json으로 배열을 반환 할 때 문제가 발생했습니다. json_last_error()를 보면 5, JSON_ERROR_UTF8이 반환되었습니다.
내 DB 문자 집합은 JSON 도우미에 전달하기 전에 내가 utf8_encode을 수행했다 문제 ($ 결과 [ 'm_content를']) 수정하지만, UTF-8 : 마지막 업데이트하려면/
'Zend_Db_Adapter_Pdo_Mysql :: fetchAll()'은 결과 배열을 반환합니다. '$ result [0] [ 'm_content']'의'var_dump'을 시도해보고 찾고있는 모든 데이터가 있는지보십시오 ('$ result'가 false를 반환하지 않는다고 가정). – drew010
select *로 변경하면 var_dump는 m_content를 제외한 모든 필드의 값을 표시합니다. 위의 각 문은 true를 반환합니다. – steve
이상한 점, 무슨 일이 일어나고 있는지 모르겠다. 나는 ZF에서 그런 한계를 넘지 않았고, 메가 바이트 크기 범위에있는 Zend_Db_Select를 사용하여 컬럼에서 텍스트와 데이터를 가져왔다. 현재 최신 버전 인 ZF 1.11.11을 사용하고 있습니까? – drew010