[PHP] PHP DB관련 코드 정리 - 막내의 막무가내 프로그래밍 & 일상
Có thể bạn quan tâm
[2021-05-26 업데이트]
PC 버전에서 코드가 인식이 안되어 검은색화면만 뜨고 코드가 안보이는 에러가 있네요.
코드를 확인하시려면
https://youngest-programming.tistory.com/m/112 모바일 버전으로 확인해주시길 바랍니다. :)
[PHP] PHP DB관련 코드 정리
php 함수 설명 1. mysqli_query() => 다른 형식의 SQL 구문, INSERT, UPDATE, DELETE, DROP 등에서 성공하면 TRUE를, 실패하면 FALSE를 반환합니다. 2. mysqli_connect() => php에서 MySQL 을 연결해주는 함 3...
youngest-programming.tistory.com
php 함수 설명
1. mysqli_query() => 다른 형식의 SQL 구문, INSERT, UPDATE, DELETE, DROP 등에서 성공하면 TRUE를, 실패하면 FALSE를 반환합니다.
2. mysqli_connect() => php에서 MySQL 을 연결해주는 함
3. mysqli_close() => mysqli_connect 함수를 통해 연결한 객체의 연결을 해제하는데 사용하는 함수
4. mysqli_fetch_assoc => mysqli_query 를 통해 얻은 리절트 셋(result set)에서 레코드를 1개씩 리턴해주는 함수입니다.
레코드를 1개씩 리턴해주는 것은 mysqli_fetch_row 와 동일하지만 mysqli_fetch_assoc 함수가 리턴하는 값은 연관배열이라는 점이 틀립니다. 연관배열이기 때문에 인덱스 번호가 아닌 아이디값으로(컬럼명) 값을 불러올 수 있다.
즉 필드명이나 쿼리문에 사용된 alias로 배열을 참조 할 수 있다.
참고: https://m.blog.naver.com/PostView.nhn?blogId=diceworld&logNo=220295777271&proxyReferer=https%3A%2F%2Fwww.google.com%2F
+) mysqli_fetch_row().값을 꺼내오는데 [index] 숫자값을 사용한다.
+) mysqli_fetch_array()
=> 위의 둘을 합쳐논거라고 생각, 인덱스번호 별칭으로 둘다 값을 찾는데 이용할 수 있다. 그러나 이것은 그만큼 느리고 비효율적이라고 스택오버플로우에서는 이 함수를 머릿속에 지우라고한다.
5. array_push() => 배열의 끝에 하나 이상의 요소를 삽입

예제 및 참고 : https://www.w3schools.com/php/func_array_push.asp
5. require_once() => 해당 파일 불러옴(모듈화)
6. json_encode() => json형식으로 인코딩
7. password_hash() => string password_hash ( string $password , integer $algo [, array $options ] ) , 3번쨰 매개변수는 생략가능.
8. password_verify() => param1: 내가 확인할려는 비번 param2: 암호화된 비번 param2의 복호화된 비번과 param1의 비번이 같으면 true 아니면 false반환
패스워드 암호화 두개의 사용법(출처: https://webinformation.tistory.com/82)

9. base64_decode() => 출처: https://www.geeksforgeeks.org/php-base64_decode-function/

10. mysqli_query() => 출처 :https://www.w3schools.com/php/func_mysqli_query.asp
연결된 디비에 쿼리실행하는 함수임 , mysqli_query([연결 객체], [쿼리]);
mysqli_query()함수는 결과 값을 반환받아 해당 변수($result)에 데이터를 반환하지만 insert, update와 같은 쿼리문은 실제 데이터를 반환하는것이 아니라 쿼리가 성공적으로 수행됬는지 참과 거짓여부만 반환

connect.php( 디비연결)
<?php $conn = mysqli_connect("localhost", "유저아이디", "비번", "디비아이디"); //디비유저, 비번, 디비이름 ?>notes.php(SELECT * 문)
<?php header("Content-type::application/json"); require_once('connect.php'); $query = mysqli_query($conn, "SELECT * FROM `notes`"); $response = array(); while($row = mysqli_fetch_assoc($query)){ array_push($response, array( 'id' => $row['id'], 'title' => $row['title'], 'note' => $row['note'], 'color' => $row['color'], 'date' => $row['date']) ); } echo json_encode($response); ?>save.php(INSERT문)
<?php if($_SERVER['REQUEST_METHOD'] == 'POST'){ $title = $_POST['title']; $note = $_POST['note']; $color = $_POST['color']; require_once("connect.php"); $query = "INSERT INTO `notes` (title, note, color) VALUES ('$title', '$note', '$color')"; if(mysqli_query($conn, $query)){ $response['success'] = true; $response['message'] = "Sucessfully"; } }else{ $response['success'] = false; $response['message'] = "Error!"; } echo json_encode($response); ?>update.php(update문)
<?php if($_SERVER['REQUEST_METHOD'] == 'POST'){ $id = $_POST['id']; $title = $_POST['title']; $note = $_POST['note']; $color = $_POST['color']; require_once('connect.php'); $query = "UPDATE `notes` SET title = '$title', note ='$note', color = '$color' WHERE id = '$id' "; if(mysqli_query($conn, $query)){ $response['success'] = true; $response['message'] = "Successfully"; }else{ $response['success'] = false; $response['message'] = "Failure!"; } }else{ $response['success'] = false; $response['message'] = "Error!"; } echo json_encode($response); ?>delete.php( DELETE문)
<?php if($_SERVER['REQUEST_METHOD'] == 'POST'){ $id = $_POST['id']; require_once('connect.php'); $query = "DELETE FROM `notes` WHERE id = '$id' "; if(mysqli_query($conn, $query)){ $response['success'] = true; $response['message'] = "Successfully"; }else{ $response['success'] = false; $response['message'] = "Failure!"; } }else{ $response['success'] = false; $response['message'] = "Error!"; } echo json_encode($response); ?>register.php (INSERT문, 패스워드는 암호화)
<?php if($_SERVER['REQUEST_METHOD'] == 'POST'){ $name = $_POST['name']; $email = $_POST['email']; $password = $_POST['password']; $password = password_hash($password, PASSWORD_DEFAULT); require_once 'connect.php'; $sql = "INSERT INTO users_table (name, email, password) VALUES ('$name', '$email', '$password')"; if(mysqli_query($conn, $sql)){ $result["success"] = "1"; $result["message"] = "success"; echo json_encode($result); mysqli_close($conn); }else{ $result["success"] = "0"; $result["message"] = "error"; echo_json_encode($result); mysqli_close($conn); } } ?>login.php (SELECT문, 패스워드는 암호화했던거라 password_verify()로 복호화해서 비교)
<?php if($_SERVER['REQUEST_METHOD'] == 'POST'){ $email = $_POST['email']; $password = $_POST['password']; require_once 'connect.php'; $sql = "SELECT * FROM users_table WHERE email = '$email' "; $response = mysqli_query($conn, $sql); $result = array(); $result['login'] = array(); if(mysqli_num_rows($response) === 1){ $row = mysqli_fetch_assoc($response); if(password_verify($password, $row['password'])){ $index['name'] = $row['name']; $index['email'] = $row['email']; $index['id'] = $row['id']; array_push($result['login'], $index); $result['success'] = "1"; $result['message'] = "success"; echo json_encode($result); mysqli_close($conn); }else{ $result['success'] = "0"; $result['message'] = "error"; echo json_encode($result); mysqli_close($conn); } } } ?>read_detail.php (특정 아이디 SELECT)
<?php if($_SERVER['REQUEST_METHOD'] == 'POST'){ $id = $_POST['id']; require_once 'connect.php'; $sql = "SELECT * FROM users_table WHERE id = '$id' "; $response = mysqli_query($conn, $sql); $result = array(); $result['read'] = array(); if(mysqli_num_rows($response) === 1){ $row = mysqli_fetch_assoc($response); if($row = mysqli_fetch_assoc($response)){ $h['name'] = $row['name']; $h['email'] = $row['email']; array_push($result['read'], $h); $result['success'] = "1"; $result['message'] = "success"; echo json_encode($result); mysqli_close($conn); }else{ $result['success'] = "0"; $result['message'] = "error"; echo json_encode($result); mysqli_close($conn); } } } ?>edit_detail.php (UPDATE문)
<?php if($_SERVER['REQUEST_METHOD'] == 'POST'){ $email = $_POST['name']; $password = $_POST['email']; $id = $_POST['id']; require_once 'connect.php'; $sql = "UPDATE users_table SET name='$name', email = '$email' WHERE id = '$id' "; if(mysqli_query($conn, $sql)){ $result["success"] = "1"; $result["message"] = "success"; echo json_encode($result); mysqli_close($conn); } }else{ $result['success'] = "0"; $result['message'] = "error"; echo json_encode($result); mysqli_close($conn); } ?>upload.php(이미지)
<?php if($_SERVER['REQUEST_METHOD'] == "POST"){ $id = $_POST['id']; $photo = $_POST['photo']; $path = "사진폴더/사진.jpeg"; $finalPath = "path까지의 전체경로/" .$path; require_once 'connect.php'; $sql = "UPDATE users_table SET photo ='$finalPath' WHERE id ='$id' "; if(mysqli_query($conn, $sql)){ if(file_put_contents($path, base64_decode($photo))){ $result["success"] = "1"; $result["message"] = "success"; echo json_encode($result); mysqli_close($conn); } } }Từ khóa » Db Php
-
PHP MySQL Connect To Database - W3Schools
-
PHP MySQL Create Database - W3Schools
-
PHP에서 MySQL로 DB 관련 함수 - 리뷰 퍼주는 남자 - 리퍼남
-
Mysql_select_db - Manual - PHP
-
Package Information: DB - PHP Pear
-
Database: Getting Started - The PHP Framework For Web Artisans
-
PHP MySQL 서버에 연결 / Database 와 Table 생성
-
How To Connect MySQL Database With PHP Website - Cloudways
-
Làm Thế Nào để Kết Nối PHP Với MySQL Database - Hostinger
-
Create MySQL Database Using PHP - Tutorialspoint
-
GitHub - Tschoffelen/p
-
[MariaDB] 마리아DB PHP - PHP와 MariaDB 연계 (MySQL)
-
How To Connect HTML To Database With MySQL Using PHP? An ...
-
ADOdb - Database Abstraction Layer For PHP [ADOdb]
-
How To Insert Form Data Into Database Using PHP ? - GeeksforGeeks
-
Adminer - Database Management In A Single PHP File
-
Unknown Database Error When Connecting Sql Database To Server ...