MySQL 데이터베이스는 많은 웹사이트의 기본 요소입니다. 웹 사이트의 백엔드에서 이러한 데이터베이스를 쉽게 만들고 편집할 수 있지만 웹 사이트 코드로 그렇게 하는 기술을 갖는 것은 매우 강력합니다. 하지만 어떻게합니까?
PHP는 필요한 모든 MySQL 데이터베이스 작업을 수행하는 강력한 서버 측 스크립팅 언어입니다. 웹 사이트에서 편안하게 데이터베이스를 구축, 편집 및 관리하는 데 사용하는 방법을 알아보십시오.
오늘의 메이크업 비디오 콘텐츠를 계속하려면 스크롤하세요.
PHP로 MySQL 데이터베이스로 작업하려면 무엇이 필요합니까?
PHP 스크립트 작성을 시작하기 전에 실행할 환경이 필요합니다. EasyPHP는 로컬 웹 서버, phpMyAdmin에 대한 액세스, 디렉토리 관리 도구 등 자신의 PHP 코드 테스트를 시작하는 데 필요한 모든 것을 제공합니다.
당신은 또한 수 라이브 PHP 웹사이트 만들기 이 프로젝트에 대해 phpMyAdmin이 설치되어 있는 한.
로 향하다 EasyPHP 웹사이트 Devserver 설치 프로그램을 다운로드합니다. 다운로드가 완료되면 실행 파일을 실행하고 설치 단계를 따르십시오. 이 시점에서 EasyPHP를 시작할 수 있지만 설치가 완료될 때까지 1~2분 정도 소요됩니다.
작업 표시줄 트레이에 EasyPHP 아이콘이 표시됩니다. 마우스 오른쪽 버튼으로 클릭하고 서버 , 선택 모든 서버 시작/다시 시작 로컬 웹 서버와 데이터베이스가 모두 실행 중인지 확인하십시오. 작업 표시줄 아이콘을 다시 마우스 오른쪽 버튼으로 클릭하고 대시보드 열기 .
EasyPHP에 프로젝트 디렉토리 추가
EasyPHP 설치가 완료되면 컴퓨터에 PHP 파일용 파일을 생성할 차례입니다. 이 파일을 EasyPHP에 추가할 위치를 기억해야 하지만 원하는 디렉토리에 이 파일을 추가할 수 있습니다.
로 이동 디렉토리 섹션을 클릭하고 디렉터리 추가 . 추가할 수 있는 새 화면으로 이동합니다. 작업 디렉토리 이름 (이것은 무엇이든 될 수 있습니다) 및 작업 디렉토리 경로 . 경로는 컴퓨터의 파일 위치입니다. 우리의 경우 이것은 단지 C:\EasyPHP-MUO입니다.
이제 컴퓨터의 작업 디렉토리에 PHP 파일을 생성하고 다음 아래의 EasyPHP 대시보드를 통해 액세스할 수 있습니다. 작업 디렉토리 부분.
MySQL Connect로 데이터베이스 생성
현재 상태로는 아직 작업할 데이터베이스가 없습니다. PHP로 새 데이터베이스를 추가하는 것은 쉽지만 시작하기 전에 로컬 웹 서버에 연결해야 합니다. 서버 이름, 서버 사용자 이름 및 서버 암호에 대한 몇 가지 변수를 추가하여 시작하십시오.
$servername = "localhost";
$username = "root";
$password = "";
서버 이름 변수는 서버 IP 주소용이지만 EasyPHP 또는 다른 로컬 MySQL 데이터베이스와 함께 localhost를 사용할 수 있습니다. EasyPHP의 기본 사용자 이름은 root이며 비밀번호는 설정되어 있지 않습니다. 라이브 배포에는 항상 암호가 있어야 합니다. 그런 다음 PHP를 사용하여 이러한 변수를 사용하여 데이터베이스에 연결할 차례입니다.
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
die("Connection error: " . $conn->connect_error);
}
서버 이름, 사용자 이름 및 암호를 전달하여 mysqli 인스턴스를 만듭니다. 이렇게 하면 스크립트가 웹 서버의 데이터베이스에 연결할 수 있습니다. 연결 오류가 있는지 확인하십시오.
이제 SQL 쿼리를 실행할 차례입니다. 이것은 phpMyAdmin과 같은 도구를 사용하여 쿼리를 실행하는 것과 매우 유사하게 작동하지만 PHP를 사용하여 쿼리를 보냅니다. CREATE DATABASE 쿼리로 시작하여 데이터베이스를 구축합니다.
$sql = "CREATE DATABASE MUOdatabase";
if ($conn->query($sql) === TRUE) {
echo "Database created.";
} else {
echo "Database creation error: " . $conn->error;
}
$conn->close();
코드의 첫 번째 줄은 쿼리 자체입니다. CREATE DATABASE 쿼리에는 'MUOdatabase'와 같은 이름만 필요합니다. 쿼리 결과를 확인하고 데이터베이스가 생성되었는지 확인합니다. 코드의 마지막 줄은 데이터베이스 연결을 닫습니다. MySQL 데이터베이스 보안 유지 .
이전에 생성한 Working Directory 내의 PHP 스크립트 파일에 이 코드를 추가한 다음 EasyPHP 대시보드에서 파일을 실행하여 작성한 코드를 실행합니다. 성공 메시지 또는 오류가 있는 흰색 페이지가 표시됩니다.
성공 메시지가 표시되면 EasyPHP 대시보드를 통해 phpMyAdmin으로 이동하여 데이터베이스가 생성되었는지 확인하십시오.
vt-x가 활성화되었지만 작동하지 않음
PHP로 MySQL 데이터베이스 테이블 만들기
데이터베이스가 아직 데이터를 저장할 준비가 되지 않았습니다. 데이터를 넣을 테이블이 필요합니다. 새 데이터베이스를 생성하는 것과 마찬가지로 이 작업을 수행하려면 서버에 연결해야 하지만 데이터베이스 이름을 변수로 포함해야 합니다. 이것이 없으면 SQL 쿼리는 아무데도 가리키지 않습니다.
$servername = "localhost";
$username = "root";
$password = "";
$databasename = "MUOdatabase";
$conn = new mysqli($servername, $username, $password, $databasename);
if ($conn->connect_error) {
die("Connection error: " . $conn->connect_error);
}
CREATE TABLE SQL 쿼리는 대부분의 것보다 더 복잡합니다. 테이블에는 이름(저희는 MUOtable이라고 함)이 필요하고 테이블에 포함될 열의 개요를 작성해야 합니다.
첫 번째 열은 각 레코드에 고유한 IQ를 부여하는 자동 증가 정수 값으로, 1부터 시작하여 새 레코드가 나올 때마다 증가합니다. 이와 함께 숫자와 문자(동물, 색상 및 국가)의 문자열을 허용할 수 있는 3개의 varchar 열과 각 레코드의 마지막 업데이트 시간을 기록하는 타임스탬프 열도 있습니다.
$sql = "CREATE TABLE MUOtable (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
animal VARCHAR(30) NOT NULL,
color VARCHAR(30) NOT NULL,
country VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
echo "Table created.";
} else {
echo "Table creation error: " . $conn->error;
}
$conn->close();
데이터베이스를 생성할 때와 마찬가지로 쿼리가 성공했는지 실패했는지 확인합니다. 이와 같은 작업을 완료한 후에도 연결을 닫아야 합니다.
작업 디렉토리의 PHP 스크립트 파일에 이 코드를 추가하고 저장한 다음 EasyPHP 대시보드를 통해 실행하여 쿼리를 실행합니다. 이 작업을 완료하면 phpMyAdmin의 데이터베이스에 새 테이블이 추가된 것을 볼 수 있습니다.
여기에서 다음 내의 코드만 편집하면 됩니다. SQL 쿼리 섹션 실행할 각 쿼리에 대한 설명입니다.
PHP를 사용하여 MySQL 테이블에 데이터 추가
마지막으로 데이터베이스 테이블에 데이터를 추가할 시간입니다!
$sql = "INSERT INTO MUOtable (animal, color, country)
VALUES ('Elephant', 'Grey', 'England')";
if ($conn->query($sql) === TRUE) {
echo "Record created.";
} else {
echo "Record creation error: " . $conn->error;
}
INSERT INTO 쿼리는 간단합니다. 테이블 이름, 데이터를 추가하려는 열 및 데이터 자체만 있으면 됩니다. 이 예에서는 동물 열에 코끼리를, 색상 열에 회색을, 국가 열에 영국을 추가합니다.
다른 데이터로 스크립트를 몇 번 실행하면 테이블이 모양을 갖추기 시작합니다.
PHP를 사용하여 MySQL 테이블 내부의 데이터 편집 및 삭제
테이블 내의 데이터에서 볼 수 있듯이 실수가 있습니다. 코끼리는 영국에 살지 않으므로 테이블을 올바른 데이터로 업데이트해야 합니다. UPDATE 쿼리는 이를 수행하는 가장 좋은 방법입니다.
$sql = "UPDATE MUOtable SET country='Botswana' WHERE id=4";
if ($conn->query($sql) === TRUE) {
echo "Record updated.";
} else {
echo "Record update error: " . $conn->error;
}
이 쿼리에는 테이블 이름, 열 및 새 데이터, 변경하려는 레코드의 ID가 필요합니다.
SQL DELETE 쿼리는 매우 유사합니다. 이렇게 하면 제공한 ID를 기반으로 테이블 레코드가 삭제됩니다. 예를 들면 다음과 같습니다.
$sql = "DELETE FROM MUOtable WHERE id=4";
PHP를 사용하여 MySQL 테이블 내부의 데이터 선택
SELECT 쿼리를 사용하면 테이블에서 데이터를 가져와 코드 내에서 사용할 수 있습니다. 액세스하려는 테이블을 알아야 하고 while 루프를 사용하여 데이터를 HTML로 표시할 수 있습니다.
$sql = "SELECT id, animal, color, country FROM MUOtable";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Animal: " . $row["animal"]. " - Color: " . $row["color"]. " - Location: " . $row["country"]. "
";
}
} else {
echo "No results.";
}
MySQL 데이터베이스 및 PHP 작업
PHP 및 MySQL 데이터베이스는 웹 개발자가 사용할 수 있는 다양한 강력한 도구를 제공하지만 보안은 항상 문제가 되어야 합니다. PHP 스크립트를 안전하게 유지하는 것은 어려운 일이며 라이브 웹 사이트에 이와 같은 코드를 배포하기 전에 서버 측 보안에 대해 배우는 데 시간을 할애할 가치가 있습니다.