happy cat image

everdevel

우리 모두의 웹 입문, 에버디벨

UI 변경
오늘도 방문해 주셔서 감사합니다.
여러분이 매일 찾아주셔서 하루 5명 오는 사이트에서 1000명이 오는 사이트로 커갈 수 있었습니다.
드디어 2017년 8월 25일 에버디벨 책이 [웹코딩 시작하기]라는 제목으로 정말 출간 합니다.
정말 열심히 최선을 다해 많은 조사를 하며 작성했습니다. ^-^*
에버디벨은 제가 프로그래머가 아닌 시절 만든 사이트지만, [웹코딩 시작하기]는 저의 2년간의 프로그래머 경력을
살려서 꼭 알아야 한다고 생각하는 것들을 최대한 쉽게 설명하여 만들었습니다.
[웹코딩 시작하기]서평 이벤트도 시작했습니다.
[웹코딩 시작하기 서평 이벤트 많은 참여 부탁드립니다. ^-^* 눌러주세요.]

- 2017.8.5 에버디벨 운영자

PHP에서 데이터베이스로 쿼리문 보내기

이번에 배울 내용은 php에서의 데이터베이스 쿼리문 보내기입니다.
mysql에 접속하여(root로) myClass 라는 DB를 생성해 주세요.
그리고 다음의 테이블을 myClass안에 넣어보겠습니다.

이테이블의 이름은 myClass_tb로 하겠습니다.

php image
 id varchar(12) not null, primary key
 name varchar(8) not null,
 sex char(2),
 age int,
 point int,
 address varchar(7)
 primary key(id));

그럼 테이블생성을 하겠습니다. mysql_query()함수를 사용하여 myclass 데이터베이스에 myclass_tb테이블을 생성하자
아래의 소스는 테이블 생성 및 레코드 입력을 한번에 하는 소스이다. 이 소스의 연습이 끝나고 테이블 생성 따로 테이블 생성 따로 연습해보자.

 <?php
 echo "query()함수를 이용한 테이블 생성 <br />";

 $host = 'localhost';
 $user = 'root';
 $pw = 'root';
 $dbName = 'myClass';
 $mysqli = new mysqli($host, $user, $pw, $dbName);

 $sql = "CREATE TABLE myclass_tb (";
 $sql = $sql."id varchar(12) not null,";
 $sql = $sql."name varchar(8) not null,";
 $sql = $sql."sex char(2),";
 $sql = $sql."age int,";
 $sql = $sql."point int,";
 $sql = $sql."address varchar(7),";
 $sql = $sql."primary key(id));";

 if($mysqli->query($sql)){
  echo '테이블 생성 완료';
 }else{
  echo '테이블 생성 실패';
 }


 $sql = "insert into myclass_tb values";
 $sql = $sql."('dooly', '둘리', '남', 10, 100, 'korea')";
 $mysqli->query($sql);

 $sql = "insert into myclass_tb values";
 $sql = $sql."('asimo', '아시모', '남', 18, 200, 'honda')";
 $mysqli->query($sql);

 $sql = "insert into myclass_tb values";
 $sql = $sql."('partner', '파트너', '남', 8, 180, 'toyota')";
 $mysqli->query($sql);

 $sql = "insert into myclass_tb values";
 $sql = $sql."('hades', '하데스', '남', 45, 350, 'greece')";
 $mysqli->query($sql);

 $sql = "insert into myclass_tb values";
 $sql = $sql."('lee', '이연희', '여', 20, 600, 'korea')";
 $mysqli->query($sql);
 ?>
php image

위와같이 입력을 하면 콘솔에서 MySQL접속하지 않고 테이블 및 레코드 입력까지 할수 있습니다.
저 소스를 웹브라우저에서 실행후에 mysql에 접속해서 테이블이 있는지 레코드가 다 입력되었는지 확인해보자.

php image

이번엔 레코드와 필드의 개수를 구해보겠습니다.
레코드의 수를 세기 위해서 num_rows를 사용합니다.

<?php
 $host = 'localhost';
 $user = 'root';
 $pw = 'root';
 $dbName = 'myClass';
 $mysqli = new mysqli($host, $user, $pw, $dbName);

 $sql = 'SELECT * FROM myClass_tb';
 $res = $mysqli->query($sql);

 echo 'count is '.$res->num_rows;
 ?>

이번엔 필드 수를 세어 보겠습니다.
필드 수를 세기 위해서는 field_count를 사용합니다.

<?php
  $host = 'localhost';
  $user = 'root';
  $pw = 'root';
  $dbName = 'myClass';
  $mysqli = new mysqli($host, $user, $pw, $dbName);

  $sql = 'SELECT * FROM myClass_tb';
  $res = $mysqli->query($sql);

  echo 'count is '.$res->field_count;
?>

강좌로 돌아가기