1. 환경 구성
시작하기 전에 PHP 및 MySQL용 개발 환경이 구성되어 있는지 확인해야 합니다. 그렇지 않은 경우 직접 설치하고 구성하십시오. 우리는 로컬 환경에서 개발하며 코드 테스트를 위해 웹 서버, PHP 및 MySQL을 이미 구성했다고 가정합니다.
2. 데이터베이스 생성
먼저 데이터베이스를 생성해야 합니다. MySQL 클라이언트를 사용하여 서버에 로그인하고 콘솔에서 다음 명령을 실행하세요.
CREATE DATABASE test;
이렇게 하면 "test"라는 데이터베이스가 생성됩니다. 다음으로, 이 데이터베이스로 전환해야 합니다:
USE test;
다음으로, 사용자 정보를 포함할 "users"라는 데이터 테이블을 생성하겠습니다.
CREATE TABLE users ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(30) NOT NULL, email VARCHAR(50) NOT NULL, password VARCHAR(255) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
이렇게 하면 ID, 이름, 이메일, 비밀번호의 네 가지 필드가 있는 "users"라는 데이터 테이블이 생성됩니다. id는 사용자의 고유 식별자로 사용되는 자동 증가 정수입니다. 이름과 이메일 필드에는 각각 사용자의 이름과 이메일 주소가 저장됩니다. 비밀번호 필드에는 해시되어 저장되어야 하는 사용자 비밀번호가 저장됩니다. Created_at 필드는 사용자 계정 생성 시간을 저장하는 데 사용됩니다.
3. 데이터베이스 연결 구성
우리는 PHP에서 mysqli 확장을 사용하여 데이터베이스 연결을 제어합니다. 먼저, 데이터베이스 연결의 구성 값을 저장하기 위한 몇 가지 상수를 정의해야 합니다. 이 예에서는 사용자 루트를 사용하고 비밀번호는 비어 있어 로컬 MySQL 서버에 연결하고 데이터베이스 test
define('DB_HOST', 'localhost'); define('DB_USER', 'root'); define('DB_PASSWORD', ''); define('DB_NAME', 'test');
에 액세스합니다. 다음으로 mysqli_connect() 함수를 사용하여 데이터베이스 서버에 연결합니다.
$mysqli = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
연결이 실패하면 오류 메시지가 반환됩니다. 성공하면 생성, 읽기, 업데이트 및 삭제의 네 가지 기본 데이터베이스 작업을 수행할 수 있습니다.
4. 추가, 삭제, 수정 및 쿼리 작업 구현
Add to Database
다음 함수는 데이터 테이블에 사용자 정보를 추가하는 데 사용됩니다.
function create_user($name, $email, $password) { global $mysqli; $hashed_password = password_hash($password, PASSWORD_DEFAULT); $stmt = $mysqli->prepare("INSERT INTO users (name, email, password) VALUES (?, ?, ?)"); $stmt->bind_param("sss", $name, $email, $hashed_password); $stmt->execute(); return $mysqli->insert_id; }
이 함수에는 세 가지 매개 변수가 필요합니다. , 이메일 주소 및 비밀번호. 먼저 Password_hash() 함수를 사용하여 비밀번호를 해시합니다. 그런 다음 prepare() 함수를 사용하여 데이터 테이블에 사용자 이름, 이메일 주소 및 해시된 비밀번호를 추가하는 SQL 쿼리를 준비합니다. Bind_param() 함수를 통해 쿼리 매개변수를 자리 표시자에 바인딩하고 쿼리 작업을 수행할 수 있습니다. 마지막으로 insert_id() 함수를 사용하여 새 사용자의 고유 식별자를 얻습니다.
데이터베이스에서 데이터 가져오기
다음 함수는 사용자 ID를 통해 데이터베이스에서 사용자 정보를 가져옵니다.
function get_user($id) { global $mysqli; $stmt = $mysqli->prepare("SELECT * FROM users WHERE id = ?"); $stmt->bind_param("i", $id); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows === 0) { return null; } return $result->fetch_assoc(); }
이 함수에는 사용자의 고유 식별자라는 하나의 매개변수가 필요합니다. 이 작업은 SQL 쿼리를 준비하고 prepare() 함수를 사용하여 데이터 테이블에서 지정된 ID와 일치하는 사용자 정보를 선택합니다. Bind_param() 함수는 매개변수를 쿼리 자리 표시자에 바인딩하고 쿼리를 실행합니다. 그런 다음 get_result() 함수를 사용하여 쿼리 결과를 가져오고 연관 배열(레코드가 있는 경우) 또는 null(레코드가 없는 경우)을 반환합니다.
Database 업데이트
다음 함수는 데이터베이스의 사용자 정보를 업데이트하는 데 사용됩니다.
function update_user($id, $name, $email, $password) { global $mysqli; $hashed_password = password_hash($password, PASSWORD_DEFAULT); $stmt = $mysqli->prepare("UPDATE users SET name = ?, email = ?, password = ? WHERE id = ?"); $stmt->bind_param("sssi", $name, $email, $hashed_password, $id); $stmt->execute(); return $stmt->affected_rows === 1; }
이 함수에는 사용자 ID, 사용자 이름, 이메일 주소 및 비밀번호의 네 가지 매개변수가 필요합니다. 먼저 Password_hash() 함수를 사용하여 비밀번호를 해시합니다. 다음으로 prepare() 메소드를 사용하여 제공된 ID와 일치하는 사용자 정보를 업데이트하는 SQL 쿼리를 준비합니다. Bind_param() 함수는 매개변수를 쿼리 자리 표시자에 바인딩하고 쿼리를 실행합니다. 마지막으로, Affected_rows() 함수를 사용하여 업데이트 작업이 성공했는지 확인하고 부울 값을 반환합니다.
데이터베이스에서 데이터 삭제
다음 함수는 데이터베이스에서 사용자 정보를 삭제하는 데 사용됩니다.
function delete_user($id) { global $mysqli; $stmt = $mysqli->prepare("DELETE FROM users WHERE id = ?"); $stmt->bind_param("i", $id); $stmt->execute(); return $stmt->affected_rows === 1; }
이 함수에는 사용자 ID라는 하나의 매개변수가 필요합니다. 이 코드는 prepare() 함수를 호출하여 제공된 ID와 일치하는 데이터 테이블에서 사용자 정보를 삭제하는 SQL 쿼리를 준비합니다. Bind_param() 함수는 매개변수를 쿼리 자리 표시자에 바인딩하고 쿼리를 실행합니다. 마지막으로, Affected_rows() 함수를 사용하여 삭제 성공 여부를 확인하고 부울 값을 반환합니다.
5. 디버깅 및 최적화
모든 웹 개발 프로세스에서 디버깅과 최적화는 매우 중요합니다. error_reporting() 및 ini_set() 함수를 사용하여 코드를 디버깅할 수 있습니다. 이러한 기능은 오류 보고 수준과 오류 메시지 표시 설정을 설정하는 데 사용됩니다. 코드를 최적화하려면 데이터베이스 쿼리에서 문자열 연결을 최대한 피해야 하며 대신 prepare() 함수와 바인딩_param() 함수를 사용해야 합니다.
위 내용은 PHP+MySQL이 데이터베이스 추가, 삭제, 수정 및 쿼리 작업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!