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

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

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

php image
CREATE TABLE myclass_tb(
 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));

그럼 테이블생성을 하겠습니다. 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;
?>