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());// 보다 원초적인 mysqlerror 메세지를 출력.

 

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는 값을 넣어주지 않아도 자동 증가된다.

 

Posted by star story :

Snippet :: Code View :: "+location.href+'
'+b+"

");top.consoleRef.document.close()}$(".snippet-container").each(function(b){$(this).find("a.snippet-text").click(function(){var d=$(this).parents(".snippet-wrap").find(".snippet-formatted");var c=$(this).parents(".snippet-wrap").find(".snippet-textonly");d.toggle();c.toggle();if(c.is(":visible")){$(this).html("html")}else{$(this).html("text")}return false});$(this).find("a.snippet-window").click(function(){var c=$(this).parents(".snippet-wrap").find(".snippet-textonly").html();a(c);$(this).blur();return false})});$(".snippet-toggle").each(function(b){$(this).click(function(){$(this).parents(".snippet-container").find(".snippet-wrap").toggle()})})});