본문 바로가기

Coding343

MySQL auto_increment 초기화 ALTER table 테이블명 auto_increment=1 2017. 4. 5.
PHP function 사용시 주의할점 사이트를 수정하면서 기존에 페이지마다 박아뒀던 기능들을따로 func.php 라는 파일을 만들고 해당 파일에서 함수형태로 만들어주던 과정 중 에러가 발생했다.먼저 작업하던 코드는 다음과 같다. db.php에 $conn이라는 변수를 통해 데이터베이스에 접근하는 부분을 만들어줬고include시켰는데 도대체 왜 안될까 고민했었는데 생각해보니 당연했다.function 내부에서 사용할 것이니 global 키워드로 전역변수 처리를 해줘야 했다. global $conn; 잊어버릴까봐 정리함. 2017. 4. 5.
MySQL timestamp와 datetime 차이점 현재시간을 자동으로 저장하는 테이블을 만들던 중 timestamp와 datetime에 대한 차이점이 궁금하여 포스팅한다.먼저 아래와 같이 두개의 테이블을 만든다. create table t1( no int, date timestamp default current_timestamp on update current_timestamp);create table t2( no int, date datetime default current_timestamp on update current_timestamp); t1은 timestamp를 사용했고 t2는 datetime을 사용했다. 값을 넣어보자. insert into t1(no) values(1);insert into t2(no) values(1); 테이블의 값을 확.. 2017. 3. 25.
PHP PDO 사용시 query와 exec 차이점 PHP에서 PDO를 사용하여 쿼리를 실행시키는 방법은 query와 exec 두가지가 존재한다.두 함수의 차이점은 다음과 같다. query의 경우 리턴값이 존재해야하는 쿼리에 사용된다.즉, 쿼리를 날리고 리턴값을 통해 뭔가를 반환받아서 사용해야하는 쿼리에 사용된다는 말이다대표적으로 SELECT문에 사용된다.(query를 사용하면 PDOStatement Object가 반환됨) exec의 경우 리턴값이 필요없는 쿼리에 사용된다.DELETE와 같이 삭제하는 쿼리는 리턴값이 필요없으므로exec이 적절하다. 2017. 3. 18.
PHP PDO 사용하는법 + Prepared Statement 기존 PHP에서 데이터베이스에 연결할 때는 DBMS마다 다른함수를 사용했다. 하지만 PDO를 사용하면 DBMS의 종류와 상관없이 통일된 함수로 처리할 수 있다.먼저 php.ini파일을 수정해야한다. 그림에 나와있는 총 6가지의 옵션을 주석(세미콜론)을 제거하여 활성화시킨다.그다음 아파치를 재시작한다. [DB접속]기존 DB접속을 mysql_connect를 사용했다면 PDO에서는 다음과 같이 사용할 수 있다. 앞으로의 예제는 모두 DB접속 후 작업하는 예제이므로 위 소스를 dbase.php로 따로 저장해놓고각 예제마다 include "dbase.php"; 를 상단에 선언한 후 사용하는 것으로 한다.(사실 예제라고 해봤자 쿼리문 작성 후 exec을 통해 실행하는 것 뿐이다) [데이터베이스 생성] [테이블 생성.. 2017. 3. 18.
Warning: mysqli::mysqli(): (HY000/2002): No such file 에러해결 맥북(OS X)에서 MySQL을 설치하고 PHP에서 연동테스트를 하던 도중 다음과 같은 에러가 발생했다. Warning: mysqli::mysqli(): (HY000/2002): No such file PHP코드는 다음과 같았다. 이 경우 host를 localhost가 아닌 127.0.0.1로 바꿔주면 해결된다. 2017. 3. 5.