PHP를 사용하여 MySQL 데이터베이스 구축

PHP를 사용하여 MySQL 데이터베이스 구축
당신과 같은 독자는 MUO를 지원하는 데 도움이 됩니다. 귀하가 당사 사이트의 링크를 사용하여 구매하면 당사는 제휴 수수료를 받을 수 있습니다. 자세히 알아보기

MySQL 데이터베이스는 많은 웹사이트의 기본 요소입니다. 웹 사이트의 백엔드에서 이러한 데이터베이스를 쉽게 만들고 편집할 수 있지만 웹 사이트 코드로 그렇게 하는 기술을 갖는 것은 매우 강력합니다. 하지만 어떻게합니까?





PHP는 필요한 모든 MySQL 데이터베이스 작업을 수행하는 강력한 서버 측 스크립팅 언어입니다. 웹 사이트에서 편안하게 데이터베이스를 구축, 편집 및 관리하는 데 사용하는 방법을 알아보십시오.





오늘의 메이크업 비디오 콘텐츠를 계속하려면 스크롤하세요.

PHP로 MySQL 데이터베이스로 작업하려면 무엇이 필요합니까?

PHP 스크립트 작성을 시작하기 전에 실행할 환경이 필요합니다. EasyPHP는 로컬 웹 서버, phpMyAdmin에 대한 액세스, 디렉토리 관리 도구 등 자신의 PHP 코드 테스트를 시작하는 데 필요한 모든 것을 제공합니다.





당신은 또한 수 라이브 PHP 웹사이트 만들기 이 프로젝트에 대해 phpMyAdmin이 설치되어 있는 한.

로 향하다 EasyPHP 웹사이트 Devserver 설치 프로그램을 다운로드합니다. 다운로드가 완료되면 실행 파일을 실행하고 설치 단계를 따르십시오. 이 시점에서 EasyPHP를 시작할 수 있지만 설치가 완료될 때까지 1~2분 정도 소요됩니다.

  easyphp 다운로드 페이지

작업 표시줄 트레이에 EasyPHP 아이콘이 표시됩니다. 마우스 오른쪽 버튼으로 클릭하고 서버 , 선택 모든 서버 시작/다시 시작 로컬 웹 서버와 데이터베이스가 모두 실행 중인지 확인하십시오. 작업 표시줄 아이콘을 다시 마우스 오른쪽 버튼으로 클릭하고 대시보드 열기 .

  쉬운 PHP 서버 시작

EasyPHP에 프로젝트 디렉토리 추가

EasyPHP 설치가 완료되면 컴퓨터에 PHP 파일용 파일을 생성할 차례입니다. 이 파일을 EasyPHP에 추가할 위치를 기억해야 하지만 원하는 디렉토리에 이 파일을 추가할 수 있습니다.

로 이동 디렉토리 섹션을 클릭하고 디렉터리 추가 . 추가할 수 있는 새 화면으로 이동합니다. 작업 디렉토리 이름 (이것은 무엇이든 될 수 있습니다) 및 작업 디렉토리 경로 . 경로는 컴퓨터의 파일 위치입니다. 우리의 경우 이것은 단지 C:\EasyPHP-MUO입니다.

  easyphp는 새 작업 디렉토리를 추가합니다.

이제 컴퓨터의 작업 디렉토리에 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가 활성화되었지만 작동하지 않음
  phpmyadmin 새 빈 데이터베이스

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();

데이터베이스를 생성할 때와 마찬가지로 쿼리가 성공했는지 실패했는지 확인합니다. 이와 같은 작업을 완료한 후에도 연결을 닫아야 합니다.

  phpmyadmin의 빈 테이블

작업 디렉토리의 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;
}
  데이터가 있는 phpmyadmin 테이블

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가 필요합니다.

  phpmyadmin 업데이트 테이블

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 스크립트를 안전하게 유지하는 것은 어려운 일이며 라이브 웹 사이트에 이와 같은 코드를 배포하기 전에 서버 측 보안에 대해 배우는 데 시간을 할애할 가치가 있습니다.