PHP에서 데이터베이스로 쿼리문 보내기
이번에 배울 내용은 php에서의 데이터베이스 쿼리문 보내기입니다.
mysql에 접속하여(root로) myClass 라는 DB를 생성해 주세요.
그리고 다음의 테이블을 myClass안에 넣어보겠습니다.
이테이블의 이름은 myClass_tb로 하겠습니다.
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);
?>
위와같이 입력을 하면 콘솔에서 MySQL접속하지 않고 테이블 및 레코드 입력까지 할수 있습니다.
저 소스를 웹브라우저에서 실행후에 mysql에 접속해서 테이블이 있는지 레코드가 다 입력되었는지 확인해보자.
이번엔 레코드와 필드의 개수를 구해보겠습니다.
레코드의 수를 세기 위해서 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; ?>