11. Mysql을 이용한 메모장 (2) -php-
-create_table.php
-memo_update.php : 실제로는 자료 insert
-mysql_connect()
-mysql_query("set names utf8"
-my_select_db()
-mysql_close()
-die()
-php에서 테이블 생성
-php에서 table구조 보기
*die("문자열")
에러가 발생하였을 때 해당 스크립트를 종료시키고 개발자가 의도한 메시지를 출력하게 해주는 함수.
die("접속 실패");
die(mysql_error());// 보다 원초적인 mysql의 error 메세지를 출력.
create_table.php
<?
$db_host = "mysql.com";
$db_user = "mydb";
$db_pass = "password";
$db_name = "db이름";
$connect=mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$query="CREATE TABLE sample_memo(
m_idx int auto_increment,
m_name varchar(50),
m_email varchar(100),
m_pass varchar(10),
m_memo varchar(255),
m_ip varchar(15),
regdate datetime,
PRIMARY KEY (m_idx)
)";
//쿼리문 작성. auto_increment로 지정한 필드는 PRIMARY KEY(필드명)으로 자정을 해줘야 한다.
mysql_query($query, $connect);
//쿼리문 실행
$q = mysql_query('DESCRIBE sample_memo');
while($row = mysql_fetch_array($q)) {
echo "{$row['Field']} - {$row['Type']}\n<br>";//변수에 중괄호 사용법 참조.
}
//스키마 보기. 생성된 테이블의 구조를 보여준다.
mysql_close($connect);
?>
memo_update.php
<?
$db_host = "mysql.com";
$db_user = "mydb";
$db_pass = "password";
$db_name = "db이름";
if(!$_POST['m_name']||!$_POST['m_email']||!$_POST['m_pass']||!$_POST['m_memo']){
//데이터 입력을 확인한다.
?>
<script> history.back(); </script>
<?
} else {
$connect=mysql_connect($db_host, $db_user, $db_pass) or die(mysql_error());
mysql_query("set names utf8");// 한글이 DB에 입력되게 한다. 중요.
mysql_select_db($db_name) or die(mysql_error());
//database와 연결 한다.
$m_name=$_POST['m_name'];
$m_email=$_POST['m_email'];
$m_pass=$_POST['m_pass'];
$m_memo=$_POST['m_memo'];
$m_ip=$_SERVER['REMOTE_ADDR'];
//post로 넘어온 변수들과 server 변수를 받는다.
$query="INSERT INTO sample_memo( //테이블 이름에는 따옴표를 써도 되고 안 써도 됨.
m_name, //field명에는 따옴표를 써도 되고 안 써도 됨.
m_email,
m_pass,
m_memo,
m_ip,
regdate ) //마지막 field명에는 컴마를 안 쓴다.
VALUES(
'$m_name',//$변수명에는 따옴표를 써도 되고 안 써도 됨.
'$m_email',
'$m_pass',
'$m_memo',
'$m_ip',
now() //마지막 field값에는 컴마를 안 쓴다.
)";
//쿼리문 작성. field이름이 틀리거나 $변수명을 따옴표로 감싸지 않으면 에러가 난다.
mysql_query($query);//$connect를 넣지 않으면 마지막으로 연결된 컨넥션을 이용한다.
//쿼리문 실행
mysql_close($connect);
//DB 닫기
echo '<a href="memo.php">메뉴화면으로</a>';
// 아래와 같이 메타 태그로 리디렉션 할 수도 있는데 검색엔진에 취약해서 비추함.
// echo "<meta http-equiv='Refresh' content='2'; URL='memo.php'>)";//content는 지연시간.
} //else문 닫음
?>
m_idx는 값을 넣어주지 않아도 자동 증가된다.
'COMPUTER > php' 카테고리의 다른 글
13. Mysql을 이용한 메모장 (4) 수정 -php- (0) | 2017.03.21 |
---|---|
12. Mysql을 이용한 메모장 (3) 제목, 리스트-php- (0) | 2017.03.19 |
고찰2. 중괄호{ }를 이용한 변수해석 -php (0) | 2017.03.16 |
고찰1. 문자열 및 echo 출력 -php- (0) | 2017.03.16 |
10. Mysql을 이용한 메모장 (1) -php- (0) | 2017.03.14 |