<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
</head>
<body>
<!-- 테스트 방법 : localhost/ex31.php -->
<form method="post" action="ex31.php">
아이디 : <input type="text" name="user_id"> <br />
비밀번호 : <input type="password" name="user_pw"> <br />
<input type="submit">
</form>
</body>
</html>
<?php
//POST 방식으로 user_id, user_pw를 넘겨서 회원이 있는지 로그인 처리한다
header('Content-Type: text/html; charset=utf8');
$connect=mysqli_connect("localhost","root","111111","mydb");
// 서버 url 주소, 아이디, 암호 , db이름
if(mysqli_connect_errno()){ // db 연결 실패시
echo"Failed to connect to MySQL: " .mysqli_connect_errno();
exit;
}
//테스트 방법 :
$user_id=$_POST["user_id"];
$user_pw=$_POST["user_pw"];
//SQL 문 작성
$sql ="SELECT * FROM users WHERE user_id='$user_id' AND user_pw='$user_pw' ";
//SQL 쿼리 전송 (실행)
$result=mysqli_query($connect,$sql);
//검색 된 결과 가져오기
// MYSQLI_BOTH: 일반배열 + 연관배열
// MYSQLI_NUM: 일반배열
// MYSQLI_ASSOC: 연관배열
while( $row = mysqli_fetch_array($result,MYSQLI_BOTH)){
echo $row["user_id"] ."," .$row["user_pw"];
}
//결과 값 메모리 해제
mysqli_free_result($result);
//db 연결 닫기
mysqli_close($connect);
?>
<?php
// php 에서 db 에 접근하는 방법
// 1. PDO 방식 : 여러 DBMS (오라클,mySQL,MongDB, MariaDB) 에 접근할 때
// 표준화된 방식으로 접근하도록 하는 함수들
// 두 개 이상 DBMS를 사용해야 할 때 사용한다
// 2. mySQLI 방식 : mySQLI로 시작하는 함수들. php에서 mysql 접근 함수들
// PHP5.4~5.7까지 지원. PHP 5.4 이전에서는 지원 안함
//3. mySQL 방식 : 옛날 방식 . mySQL로 시작하는 함수들
// 가급적 사용하지 말것. 호환성 문제 .php5.4까지 지원
//mySQLI방식에서 두 가지 방식
//1 . bind방식 : 매개변수와 함수를 연결 (bind) 하는 방식
//2 . non-bind 방식 : bind 하지 않고 sql을 문자열로 제어
// non-bind 방식
//1. Object 방식 : new 를 사용해서 object ->함수()
//2. Function 방식 (Seqence) : 일반 내장 함수를 사용함
//mysqli_fetch() 함수의 종류: db 검색 결과를 가져오는 함수
//1. mysqli_fetch_rows(): [0] [1] [2] 일반 배열의 인덱스로 데이타를 읽어옴
//2. mysqli_fetch_assoc() : ["key1"]["key2"] 연관 배열, 키로 값을 가져옴
//3. mysqli_fetch_array() : 일반배열 + 연관배열 두가지 형식으로 다 읽어 올 수 있다
//DB에 테이블 만들기
//1. DB이름 :mydb
//2. 테이블 만들기 : users
// CREATE TABLE users (user_index integer PRIMARY KEY AUTO_INCREMENT,
// user_id varchar(30), user_pw integer ,phone varchar(200));
// //3.데이타(레코드 ) 추가하기
// INSERT INTO users(user_index,user_id,user_pw,phone)
// VALUES (1, 'hong','1111','01011112222');
// INSERT INTO users(user_index,user_id,user_pw,phone)
// VALUES (2, 'dong','2222','01033334444');
// INSERT INTO users(user_index,user_id,user_pw,phone)
// VALUES (3, 'ironman','3333','01055556666');
//대소문자, 공백 정확히 !
header('Content-Type: text/html; charset=utf8');
$connect=mysqli_connect("localhost","root","111111","mydb");
// 서버 url 주소, 아이디, 암호 , db이름
if(mysqli_connect_errno()){ // db 연결 실패시
echo"Failed to connect to MySQL: " .mysqli_connect_errno();
exit;
}
//SQL 문 작성
$sql ="SELECT * FROM users";
//SQL 쿼리 전송 (실행)
$result=mysqli_query($connect,$sql);
//검색 된 결과 가져오기
// MYSQLI_BOTH: 일반배열 + 연관배열
// MYSQLI_NUM: 일반배열
// MYSQLI_ASSOC: 연관배열
while( $row = mysqli_fetch_array($result,MYSQLI_BOTH)){
echo $row["user_id"] ."," .$row["user_pw"];
}
//결과 값 메모리 해제
mysqli_free_result($result);
//db 연결 닫기
mysqli_close($connect);
//테스트
//웹 브라우저에서 localhost/ex29_db.php
//php 파일이 실행되지 않고 다운되는 현상 발생
// 비트나미 설치 폴더/ apache2/conf/http.conf 파일의 설정을 변경한다
// AddType 이라고 써진 부분뒤에 추가함
// AddType application/x-httpd-php. php. htm. html
?>
<?php
//GET 방식으로 user_id, user_pw를 넘겨서 회원이 있는지 로그인 처리한다
header('Content-Type: text/html; charset=utf8');
$connect=mysqli_connect("localhost","root","111111","mydb");
// 서버 url 주소, 아이디, 암호 , db이름
if(mysqli_connect_errno()){ // db 연결 실패시
echo"Failed to connect to MySQL: " .mysqli_connect_errno();
exit;
}
//테스트 방법 : localhost/ex30.php?user_id=hong&user_pw=1111
//테스트 방법 : localhost/ex30.php?user_id=hong&user_pw=2222
$user_id=$_GET["user_id"];
$user_pw=$_GET["user_pw"];
//SQL 문 작성
$sql ="SELECT * FROM users WHERE user_id='$user_id' AND user_pw='$user_pw' ";
//SQL 쿼리 전송 (실행)
$result=mysqli_query($connect,$sql);
//검색 된 결과 가져오기
// MYSQLI_BOTH: 일반배열 + 연관배열
// MYSQLI_NUM: 일반배열
// MYSQLI_ASSOC: 연관배열
while( $row = mysqli_fetch_array($result,MYSQLI_BOTH)){
echo $row["user_id"] ."," .$row["user_pw"];
}
//결과 값 메모리 해제
mysqli_free_result($result);
//db 연결 닫기
mysqli_close($connect);
?>