본문 바로가기
반응형

호구지책/웹18

[PHP] 에러출력하기 1. error_reporting 함수 error_reporting(E_ALL); ini_set("display_errors", 1); E_ALL은 모든 종류의 에러를 보여주는 것이고, 다른 에러레벨을 조합해서 사용할 수도 있다. waring의 경우 치명적인 에러가 아니므로 무시해도 된다. (변수 초기화를 하지 않았다라는 식의 내용이 주 내용) 2.die 함수 mysql_select_db($dbname,$conn) or die (mysql_error()); die 함수는 특정 오류로 인해 php 실행이 중단 되었을 때 그 내용을 파악할 수 있어서 유용하다. (특히 DB와 연동된 작업시) 참고 php실행시설정 - php.net PHP 에러 처리 함수 die 2016. 3. 14.
[PHP] MSSQL에서 MYSQL로 마이그레이션 php는 Mysql로 활용하는 경우가 많지만우리 회사는 MSSQL로 작업을 진행했었다. 이번에 오픈소스로 갈아타기 위해Mysql로 변경하고 있는데, 사소한 에러와 차이점이 개발자를 괴롭히고 있다. 함수의 변경기본적으로 mssql 로 시작하는 함수들을 mysql로 고치면 된다.하지만 예외적인 함수가 있는데,mssql_rows_affected는 mysql_rows_affected로 사용하지 않고mysql_affected_rows로 사용한다. 2016. 2. 24.
[PHP] 한글이 물음표(???)로 나올 때 거의 이틀동안 이것과 씨름했다.한글이 깨지는 것은 포착했는데,왜 한글이 깨지는지, 인코딩을 어떻게 복구해야 한글이 제대로 표시되는지이해할 수 없었다. 사실 깨지는 것부터 이해가 되지 않았다. mysql에서 show variables like '%C%'를 하면 인코딩 설정을 볼 수 있는데,이걸 mysql에서 쿼리했을 때랑php 웹에서 쿼리했을 때랑결과가 다르게 나온다. php인코딩 설정에 의해서mysql 설정보다 우선순위가 높게 적용되는 것이다. 그래서 원래 utf8이었는데,latin1으로 인코딩이 잡혀 있었다. 그 차이점을 발견하고 나서 대처법을 구해보았다. mysql_query("set session character_set_client=euckr");mysql_query("set session cha.. 2016. 2. 12.
[XML] xml에서 공백을 의미있는 문자로 취급하기 맛있는 XML 멋있는 XML 맛있는 XML 멋있는 XML xml 작성시 xml:space 특성을 사용해서 공백에 의미가 있음을 나타낼 수 있다. 자동으로 공백이 없어지는 경우에 이 특성을 한번 사용해보길 바란다. 아래는 MS 홈페이지에서 긁어온 xml:space에 관한 설명이다. 문서 작성자는 xml:space 특성을 사용하여 공백이 중요하게 간주되는 문서 부분을 식별할 수 있습니다. 또한 스타일시트에서 xml:space 특성을 후크로 사용하여 프레젠테이션의 공백을 유지할 수 있습니다. 그러나 대부분의 XML 응용 프로그램은 xml:space 특성을 인식할 수 없기 때문에 이 특성은 참고용으로 사용됩니다. xml:space 특성은 두 개의 값을 허용합니다.default이 값을 사용하면 응용 프로그램에서 .. 2016. 1. 27.
[PHP] 최근 자동증가값 얻어오기 5.5-45-mariaDB-log 버전을 사용중인데마리아 DB의 특성인지select last_insert_id();쿼리는 제대로 동작하지 않았다. 결국 php 함수를 사용했다. $seq = mysql_insert_id($conn);다음과 같은 형식으로 최근 자동증가값을 얻어올 수 있다.이 값은 같은 connection 내에서 이루어진 insert중에서가장 최근에 insert된 auto_increment를 가져오게 된다.상세한 내용은 php 메뉴얼을 보라. 참고php 메뉴얼 - mysql_insert_idInnoDB에서 Auto_Increment를 맹신하지 말자.마리아DB 메뉴얼 - last_insert_id 2016. 1. 22.
[PHP] 한달 전의 월을 구하기 $start = mktime(0,0,0,date("m"),1,date("Y")); // 이번달의 첫날 //$time = time(); echo "start:".$start."1:".date("Ym", strtotime("-1 month", $start)); first day of -1 month을 사용할 수도 있지만, 5.2버전 대에서는 작동을 하지 않는다. 그래서 위처럼 mktime을 사용해서 이번달의 첫날을 구하고, 거기에서 한달을 빼게 되면, 어김없이 저번달을 구할 수 있다. 만약 이러한 계산없이 단순히 -1 month로 적용하게 되면, 날짜에 따라서 결과가 달라진다. 그 이유는 참고링크에도 나와있지만, 단순히 -month를 하게 되면 현재날짜에서 -28~31일 을 해버리기 때문이다. 정확히 -30.. 2015. 12. 14.
반응형