> 백엔드 개발 > PHP 튜토리얼 > PHP와 데이터베이스를 결합한 간단한 웹 예제 코드 분석(PHP 초보자)

PHP와 데이터베이스를 결합한 간단한 웹 예제 코드 분석(PHP 초보자)

WBOY
풀어 주다: 2016-08-08 09:29:09
원래의
1011명이 탐색했습니다.

기본 튜토리얼입니다. 이상한 코드는 없고 몇 가지 기본 사항만 있습니다. UNIX 시스템에 대한 튜토리얼이 많이 있으며, 이 튜토리얼은 Windows 기반 플랫폼에 중점을 둡니다.

그러나 Windows 관련 지침이 어느 정도 포함된 설치 부분을 제외하면 다른 부분은 모든 플랫폼에서 동일합니다. 참고로 설치 부분에 대해서는 본 사이트의 설치 가이드를 참조하시기 바랍니다. 이 튜토리얼에서는 다음과 같은 PHP 및 MySQL 기능을 사용하여 작은 웹사이트를 단계별로 구축해 보겠습니다.
 1. 데이터베이스 보기
 2. 데이터베이스 레코드 편집
 3. 데이터베이스 레코드 수정
 4. 데이터베이스 레코드 삭제
MySQL과 PHP를 동시에 배우고 함께 느껴보겠습니다. 본 글은 여기에서 직접 학습하실 수 있습니다. Apache+PHP+Mysql 설치 및 구성 방법을 모르신다면 웹교육네트워크에서 관련 글을 확인해보세요!
먼저 웹 서버를 실행하세요(PHP 확장이 추가되었습니다). MySQL을 실행하세요.
MySQL 데이터베이스 생성 및 조작:
먼저 사용할 데이터베이스와 테이블을 생성해야 합니다. 데이터베이스 이름은 "example"이고 테이블 이름은 "tbl"이며 식별 번호, 이름, 성 및 정보 필드가 있습니다. mysql 터미널을 통해 데이터베이스 생성 및 테이블 정의 작업을 완료하려면 c:mysqlbinmysql.exe를 두 번 클릭하거나 실행하면 됩니다.
MySQL에 정의된 테이블을 보려면 다음을 사용할 수 있습니다(mysql>는 터미널 프롬프트입니다).
Mysql> showdatabases; 다음 정보 :
 +----------+
 | 데이터베이스
 +----------+
 | mysql | |
+----------+
2개 행(0.01초)
새 데이터베이스를 정의하려면 다음을 입력합니다.
Mysql> < ; Enter>
다음과 같은 응답이 표시됩니다.
쿼리 확인, 1개 행이 영향을 받음(0.17초) 맞습니다. 이제 새 데이터베이스가 생겼습니다. 이제 라이브러리에 새 테이블을 만들 수 있지만 먼저 새 데이터베이스를 선택해야 합니다.
Mysql> 사용 예;
대답은 다음과 같습니다.
데이터베이스가 변경되었습니다.
이제 다음 필드를 사용하여 테이블을 만들 수 있습니다.
인덱스 번호 - 정수
사용자 이름 - 최대 길이가 30인 문자열
사용자 이름 - 최대 길이가 50인 문자열
무료 메시지 - 최대 길이가 100인 문자열
테이블을 생성하려면 MySQL 프롬프트에 다음 명령을 입력하세요. :
 MySQL> 테이블 tbl 생성(idx 정수(3), UserName varchar(30), LastName varchar(50), FreeText varchar(100));
대답은 다음과 같습니다.
쿼리 확인, 영향을 받은 행 0개(0.01초)
확인, MySQL 프롬프트에서 테이블을 보는 모습을 살펴보겠습니다.
MySQL> show columns from tbl;
다음과 같은 결과를 얻습니다:
+----------+-------------+ - ---------+-------+
| Null 키 | ---------+---------------+------+------+---------- + -------+
| 예 | NULL | varchar(30) | (50) | NULL | varchar(100) | NULL | - -----+------+------+---------+-------+
 4행 세트(0.00초)
여기에서 방금 생성한 "tbl" 테이블의 내용을 볼 수 있습니다.
이제 표에 무엇이 있는지 살펴보겠습니다. 다음 명령을 입력합니다:
MySQL> select * from tbl
이 명령은 "tbl" 테이블의 모든 데이터를 표시하는 데 사용됩니다. 출력은 다음과 같습니다:
빈 세트(0.07초) 이 결과를 얻는 이유는 아직 테이블에 데이터를 삽입하지 않았기 때문입니다. 테이블에 일부 데이터를 삽입하고 다음을 입력합니다.
MySQL> tbl 값에 삽입 ​​(1,'Rafi','Ton','Just a test'); 영향을 받은 행(0.04초)
위에서 볼 수 있듯이 기본 순서를 사용하기 때문에 테이블에 삽입하는 값은 앞서 테이블을 정의한 순서대로 적용됩니다. 데이터의 순서를 설정할 수 있으며 구문은 다음과 같습니다.
 MySQL> tbl (idx,UserName,LastName,FreeText) 값에 삽입 ​​(1,'Rafi','Ton','Just a test' );<차량 반납>
이제 테이블의 내용을 다시 볼 수 있습니다.
MySQL> select * from tbl;
이번 결과는 다음과 같습니다.
+---- - +----------+----------+
사용자 이름 | 🎜> +------+----------+----------+------------+
| 1 | 톤 | 그냥 테스트
 +------+---------+------- ------+
 1행(0.00초)
 이제 테이블의 구조와 각 셀의 내용을 볼 수 있습니다.
이제 데이터를 삭제하고 싶습니다.이를 달성하려면 다음을 입력해야 합니다:
 MySQL> delete from tbl where idx=1 제한 1; 쿼리 확인, 1개 행 영향(0.00초)
자, 설명을 좀 해주세요. 우리는 MySQL에게 "tbl" 테이블에서 레코드를 삭제하고, idx 필드 값이 1인 레코드를 삭제하고, 삭제를 하나의 레코드로만 제한하도록 지시하고 있습니다. 삭제된 레코드 수를 1로 제한하지 않으면 idx 1인 모든 레코드가 삭제됩니다(이 예에서는 레코드가 하나만 있지만 그럼에도 불구하고 이를 더 명확하게 하고 싶었습니다).
안타깝게도 빈 테이블이 다시 나오므로 다시 입력해 보겠습니다.
MySQL> tbl 값에 삽입 ​​(1,'Rafi','Ton','Just a test'); ;
쿼리 확인, 1개 행 영향(0.04초)
또 다른 방법은 지정된 필드의 내용을 수정하고 "update" 명령을 사용하는 것입니다.
MySQL>update tbl set UserName=' Berber' where UserName='Rafi';
 쿼리 확인, 1개 행 영향(0.01초)
 일치한 행: 1 변경됨: 1 경고: 0
 이 명령은 다음을 포함하는 모든 레코드를 검색합니다. 사용자 이름은 "Rafi"이고 "Berber"로 변경합니다. 설정된 부분과 where 부분이 동일할 필요는 없습니다. 한 필드를 검색하고 다른 필드를 변경할 수 있습니다. 또한 두 개 이상의 기준으로 검색을 수행할 수도 있습니다.
 MySQL>update tbl set UserName='Rafi' 여기서 UserName='Berber' 및 LastName='Ton';
쿼리 OK, 1개 행이 영향을 받음(0.04초)
이 쿼리는 두 개의 필드를 검색하고 UserName의 값을 변경합니다.
PHP와 MySQL 결합
이 섹션에서는 PHP 기반 주문을 생성합니다. 이전에 생성된 MySQL 테이블을 제어하는 ​​데 사용되는 웹 사이트입니다.
다음과 같은 사이트 구조를 구축하겠습니다(기본 HTML 지식을 이미 알고 있다고 가정).
1. index.php3은 프런트 엔드에서 테이블을 보는 데 사용됩니다. 2. add.php3은 데이터를 삽입하는 데 사용됩니다. 테이블
 3. Modify.php3은 테이블의 레코드를 수정하는 데 사용됩니다. 4. del.php3은 테이블의 레코드를 삭제하는 데 사용됩니다.
먼저 데이터베이스를 확인하고 살펴보겠습니다. 다음 스크립트:
 ------ -------------------------- ----------- -------------
Index.php

웹 데이터베이스 샘플 인덱스
tbl의 데이터
 <
 mysql_connect() 또는 die ("데이터베이스 연결 문제")
 $query = "tbl에서 * 선택"
 $result = mysql_db_query("example", $query );
 if ($result) {
 echo "데이터베이스에서 다음 항목을 찾았습니다:

echo "<테이블 너비=90% align=center border=1>
 사용자 이름
 < ;td align=center bgcolor=#00FFFF>성 도메인 이름
 요청 날짜
  ;
 while ($r = mysql_fetch_array($result))
 {
 $idx = $r["idx"]
$r["UserName"]; $last = $r["LastName"]
$text = $r["FreeText"]
echo "
 $idx

 $last
 $text
 ";
 }
 echo "";
 }
 else
 {
 echo "데이터가 없습니다."; include ('links.x');
?> ----- -------------
네, 여기요 몇 가지 지침이 있습니다:
먼저 일반 HTML 태그를 사용해 보겠습니다. thml 문서를 만듭니다. html에서 PHP로 전송하려는 경우 를 사용하여 PHP 부분을 종료합니다.
mysql_connect() 명령은 PHP에게 MySQL 서버에 대한 연결을 설정하도록 지시합니다. 연결이 성공적으로 이루어지면 스크립트가 계속 진행됩니다. 그렇지 않으면 "데이터베이스 연결 문제"라는 die 명령 정보가 인쇄됩니다. (mysql_connect 및 기타 PHP 기능에 대한 자세한 내용을 보려면 http: //www .php.net 아래의 문서에서 찾으십시오.)
이제 위에서 설명한 대로 MySQL이 설치되면 충분합니다.그러나 사전 설치된 MySQL(예: ISP)을 사용하는 경우 다음 명령을 사용해야 합니다.
mysql_connect(localhost, 사용자 이름, 비밀번호)
$query를 실행하려는 항목으로 설정할 수 있습니다. MySQL 쿼리를 작성한 후 mysql_db_query 명령을 사용하여 실행합니다.
$result = mysql_db_query("example", $query)
이때 "example"은 데이터베이스 이름을 나타내고 $query는 수행할 쿼리입니다.
위에서 설명한 대로 MySQL 명령 select를 사용하여 테이블에서 모든 데이터를 가져옵니다.
$query = "select * from tbl"
실행될 경우 $result의 역할을 간략하게 설명합니다. 성공적으로 함수는 쿼리 결과의 MySQL 결과 식별자를 반환하고, 오류가 발생하면 false를 반환합니다. 반환되는 것은 결과가 아니라 나중에 필요한 정보로 변환될 수 있는 식별자입니다.
이제 데이터베이스에 레코드가 있는지 확인하고, 레코드가 있으면 html 테이블 구조에 따라 결과를 인쇄해 보겠습니다. 데이터가 존재하는지 확인하려면 다음 구문과 함께 if 명령을 사용합니다.
if (인수) {
"do Something;"
} else {
"do Something Different;" > }
이때 "do Something"은 인수=true일 때 실행하려는 명령이고, "do Something Different"는 인수=false일 때 실행하려는 명령입니다.
html 테이블 구조를 설정하기 위해 echo 명령을 사용하여 일부 html 태그를 출력합니다. PHP 명령의 텍스트 출력만 HTML 콘텐츠로 처리됩니다. PHP 명령 자체는 HTML 콘텐츠로 처리되지 않습니다. 우리가 사용하는 또 다른 명령은 다음 형식의 while 명령입니다.
 while(인수)) {
 "something to do";
 }
 while 루프는 인수가 true일 때 계속 반복되어 {}에 설정된 명령어를 실행합니다.
여기서는 while 루프와 PHP 함수 $r=mysql_fetch_array($result)를 결합합니다. 이 함수는 해당 결과 식별자를 기반으로 레코드를 검색하고 필드 이름을 배열 키로 사용하여 연관 배열 $r에 결과를 배치합니다. 스크립트에서는 $r['idx'], $r['UserName'], $r['LastName'] 및 배열을 얻습니다.
 $r['FreeText'].
결과를 ​​순서대로 배열하는 mysql_fetch_row 함수를 사용할 수도 있습니다. $r[0], $r[1], $r[2] 및 $r[3]을 사용하여 결과를 가져올 수 있습니다. 해당 값. .
이제 모든 정보가 있으므로 html 테이블로 인쇄할 수 있습니다.
다음은 인용된 내용입니다.
echo "
$idx< ; /td>
 $user
 $last
 $text
;" > 이제 mysql_free_result($result) 함수를 사용하여 MySQL 연결을 해제하고 일부 리소스를 해제할 수 있습니다.
PHP의 또 다른 유용한 기능은 스크립트에 텍스트 파일을 포함하는 기능입니다. 재사용 가능한 코드(예: 다른 페이지에 대한 링크)가 있다고 가정하고 포함 기능을 사용하면 일부 코드와 시간을 절약할 수 있습니다. 게다가 이 코드를 변경하려면 포함된 파일의 내용만 변경하면 되며 해당 내용은 포함된 모든 파일에 적용됩니다.
여기서 각 페이지에서 사용하려는 모든 링크 메뉴를 저장하는 Links.x라는 텍스트 파일을 만듭니다.



 include 구문은 다음과 같습니다.
 Include ( 'included_text_file');
이제 ?>를 사용하여 PHP 부분을 닫고 을 사용하여 html 페이지를 종료할 수 있습니다.
  使用表单增加数据让我们看一下面的代码:
  -------------------------------- ------------------------------------------------
  
  데이터베이스에 항목 추가
  
  
  

항목 추가


  

  <테이블 너비=90% 정렬=가운데>
색인:   사용자 이름:<입력 유형=텍스트 이름="사용자 이름" 크기=40
  maxlength=100>
  성:  maxlength=100>< /tr>   FreeText:   <입력 유형=제출 값=추가>
  

  
  
  
  
 ---------------------------------- ---------------------------------
  假设你对表单很熟悉,这是一个当简单的脚本.我们根据html页面设计了一个表单,它它交后调用 add2tbl. php3의 원본입니다.MySQL은 php3와 호환됩니다. :색인 번호, 이름, 성 및 FreeText.
  我们再一次使用了include命令(象前side所解释的)来增加链接.
  让我们看一下add2tbl.php3脚本:
  ------------ ------------------------------------- ------
  
  
    if ($UserName)
  {
  mysql_connect() 또는 die ("데이터베이스 연결 문제");
  $query = "tbl 값에 삽입('$idx','$UserName','$LastName','$FreeText')";
  $result = mysql_db_query("example", $query);
  echo "데이터가 삽입되었습니다. 새 테이블:

";
  $query = "SELECT * FROM tbl";
  $result = mysql_db_query("example", $query);
  if ($result)
  {
  echo "<테이블 너비=90% align=center border=1>
  idx< ;/td>
  사용자 이름
  성
  자유 텍스트
  ";
  while ($r = mysql_fetch_array($result))
  {
  $idx = $r["idx"];
  $user
  注意,저는 脚本中所注释입니다.使用一个注释可以用"//",服务器将忽略此行的后注分.
简单,不是吗?从数据库中编辑一条记录: 让我们假设一下, 我们想修改数据库中存에서 记录.앞면에서,我们看到有一个叫set的SQL命令用来设置。我们将使用这个命令来修改数据库中的整条记录。考虑下면적脚本:
  ---------------------------------- ---------------------------------
  edit.php:

复代码 代码如下:


  
  데이터베이스에서 항목 편집
  
  
  

항목 편집


  
  mysql_connect() 또는 die("데이터베이스 연결 문제");
  $query = "tbl에서 * 선택";
  $result = mysql_db_query("example", $query);
  if ($result)
  {
  echo "데이터베이스에서 다음 항목을 찾았습니다:
";
  echo "<테이블 너비=90% align=center border=1>
  idx
  사용자 이름
  성
  자유 텍스트
  ";
  while ($r = mysql_fetch_array($result))
  {
  $idx = $r["idx"];
  $user = $r["사용자 이름"];
  $last = $r["성"];
  $text = $r["FreeText"];
  echo "
  
  $idx< ;/a>
  $user
  $last
  $text
  ";
  }
  echo "";
  }
  else
  {
  echo "데이터가 없습니다.";
  }
  mysql_free_result($result);
  include ('links.x')
  ?>
   🎜 >
---------------------------------- ----------------------------------
  如你所见,这里的代码有些熟悉。第一分只是打印流数据库中表的内容。注意,有一行不太一样:   
$idx
  这一行建立了一个到editing.php3的一个链接,并且给new 脚本传递了一些变weight.같은 방법으로 사용하세요链接。我们将信息转换成:变weight和值。注意,为了打印出 " 符号,我们需要使用 "否则服务器 将把它看成PHP脚本的一分并且作为被打印的信息.
  我们想将数据库中的记录全部转换到过,这样我们就可以得到表中的确切的数据,以便我们修攃容易一些。
--------------- ------------------------------------- -----------------
 Editing.php


复代码
代码如下:

  < ;html>

  항목 편집

  
  
  

항목 편집


  

  <테이블 너비=90% 정렬=가운데>
  idx:
  UserName:  value="">
  성:<입력 유형=텍스트 이름=성 크기=40 최대 길이=100
  value="">
  자유 텍스트:<입력 유형=텍스트 이름=FreeText 크기=40 최대 길이=100
  value="">
  
  ">
  

  
  
  


---------------------------------- --- ---------------------
좋습니다. 이 스크립트는 매우 간단합니다. 우리가 주의해야 할 점은 양식이 인쇄될 때 명령의 value 속성을 통해 현재 기록된 데이터를 기록한다는 것입니다. 이 데이터는 이전 페이지에서 전달됩니다.
이제 녹음된 정보를 변경하지 않으면 기본값인 현재 값을 반환합니다. 필드의 값을 변경하면 해당 필드의 값도 새 값으로 변경됩니다. 그런 다음 새 값을 다른 스크립트에 전달하면 MySQL 테이블의 값이 변경됩니다.
 ---------------------------------- - ----------------------------------
Editdb.php:

코드 복사 코드는 다음과 같습니다:


DataBase");
$query = "update tbl set
idx='$idx',UserName='$UserName',LastName='$LastName',FreeText='$FreeText' 여기서
idx='$idx'";
$result = mysql_db_query("example", $query);
$query = "SELECT * FROM tbl";
$result = mysql_db_query("example ", $query);
if ($result)
 {
echo "데이터베이스에서 다음 항목을 찾았습니다:

";
echo " <테이블 너비=90% align=center border=1>
 idx
  ;사용자 이름
 


 자유 텍스트
";
 while ($r = mysql_fetch_array($result))
 {
 $idx = $r["idx"];
 $user = $r["UserName "];
 $last = $r["LastName"];
 $text = $r["FreeText"];
 echo "
 $idx< /td>
  $user
 $last
 $text ";
 }
echo ""
 }
else
 {
echo "데이터가 없습니다."
 }
mysql_free_result($ result); 'links.x');
?>


------------ -- ------------------------------------------------ -- --------
기본적으로 주의해야 할 한 가지는 다음 줄입니다. $query = "update tbl set idx='$idx',UserName='$UserName',LastName ='$ 성',FreeText='$FreeText' 여기서 idx='$idx'";
이전 MySQL 섹션에서 설명한 것과 동일한 구문이라는 점에 유의하세요. 또 다른 점은 이 스크립트가 idx=$idx로 레코드를 변경한다는 점입니다. 테이블에 idx가 $idx인 레코드가 여러 개 있으면 이러한 레코드가 모두 변경됩니다. 좀 더 엄격하게 하려면 where 절을 다음과 같이 변경할 수 있습니다.
 $query = "tbl 세트 idx='$idx',UserName='$UserName', LastName='$LastName',FreeText='$FreeText' 업데이트(여기서 idx='$idx' 및 UserName='$UserName) ' 및 LastName='$LastName' 및 FreeText='$FreeText'";
이 구문은 idx뿐만 아니라 모든 필드를 확인합니다.
데이터베이스에서 레코드 삭제:
알겠습니다. 삭제는 쉽습니다. 여전히 두 개의 스크립트가 필요합니다. 하나는 삭제할 레코드를 선택하는 데 사용되며(기본적으로 위에서 편집할 레코드를 선택하는 것과 동일), 다른 하나는 실제로 새 테이블을 삭제하고 인쇄하는 데 사용됩니다.
 ---------------------------------- - ----------------------------------
 del.php


코드 복사
코드는 다음과 같습니다.


  
  데이터베이스에서 항목 삭제
  
  
  

항목 삭제


    mysql_connect() 또는 die("데이터베이스 연결 문제");
  $query = "tbl에서 * 선택";
  $result = mysql_db_query("example", $query);
  if ($result)
  {
  echo "데이터베이스에서 다음 항목을 찾았습니다:

";
  echo "<테이블 너비=90% align=center border=1>
  idx
  사용자 이름
  성
  자유 텍스트
  ";
  while ($r = mysql_fetch_array($result))
  {
  $idx = $r["idx"];
  $user = $r["사용자 이름"];
  $last = $r["성"];
  $text = $r["FreeText"];
  echo "
  
  
$idx
  $user
   $last
  $dtext
  ";
  }
  echo "";
  }
  else
  {
  echo "데이터가 없습니다.";
  }
  mysql_free_result($result);
  include ('links.x');
  ?>
  
   

http://www.jb51.net/article/27814.htm

以上就介绍了php와 数据库结结个简单의 웹사이트는 代码分析 (php初書), 包括了방면에 있는 内容, 希望对PHP教程가 있는 웹사이트가 있습니다.所帮助。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿