2011-10-27 3 views
0

다른 서버에 다른 동작 : Plesk를 패널 (PHP 5.2.13 &의 MySQL 5.0.45 - 커뮤니티 - NT), 및 실행중인 다른 젠드 Server 5.5를 실행 하나를 (PHP 5.2.17 & MySQL 5.1.50-community). 내가 두 서버에서 다음과 같은 PHP 코드를 실행는 mysql_query - 나는 2 개 개의 다른 서버가

 
    CREATE TABLE `test_table` (
     `id` int(11) NOT NULL auto_increment, 
     `num` int(5) NOT NULL, 
     `txt` text NOT NULL, 
     `ste` bigint(5) NOT NULL, 
     PRIMARY KEY (`id`) 
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 

을 : 다음과 같이

나는 두 서버에서 MySQL DB에 테이블이

 
    mysql_query("START TRANSACTION"); 

    if(!mysql_query("insert into test_table(num,txt) values(1,'sd')")) 
    { 
     echo "ERROR OCCURED.
".mysql_error(); mysql_query("ROLLBACK"); exit; } else { echo "Successful insertion"; mysql_query("COMMIT"); exit; }

난 쿼리가 성공적으로 내 Plesk를 실행할 수 서버 (경고 있음 - SHOW WARNINGS 쿼리를 실행하면 "필드 'ste'에 기본값이 없음 '이 표시되지만 행이 삽입되고 mysql_query가 true를 반환 함)

내 젠드 서버에 mysq l_query는 false를 반환하고 동일한 오류가 표시됩니다. 행이 삽입되지 않습니다.

경고를 무시하고 행을 삽입해야합니다. 나는 이것에 하루 종일을 보내고 선택권에서 지금이다.

도와주세요. 미리 감사드립니다.

답변

1

Zend 서버에서 실행중인 MySQL이 엄격 모드로 실행되는 것 같습니다. 즉, 경고가 아닌 것은 치명적인 오류가됩니다.

서버 모드 및 방법을 변경하는 방법에 대한 정보는 here을 참조하십시오. 엄격 모드를 사용 중지하고 도움이되는지 확인하십시오.

+0

답장을 보내 주셔서 대단히 감사합니다. SQL 모드를 ""로 설정하면 제대로 작동합니다. 다시 한 번 감사드립니다. – user1016513

0

IGNORE 키워드를 사용할 수 있습니까? IGNORE에 .....를 삽입하십시오 비록 그것이 좋은 생각이라면 확실하지 않습니다

관련 문제