Curso de PHP – Aula 4 – PHP Server – eXcript

갤리선 이야기 !! 우리의 PHP 코스 에피소드 1 개에 오신 것을 환영합니다! 그리고 이걸로 우리가 서버를 설치하는 데 필요한 모든 응용 프로그램을 다운로드합니다 우리 컴퓨터에! 즉, 우리는 컴퓨터를 서버로 전환 할 것입니다

심지어, PHP는 서버 측에서 실행되기 때문에 우리가 가진 가장 실용적인 방법입니다 PHP로 프로그래밍하려면 컴퓨터에 서버를 설치해야합니다 우리는 호스팅 서비스를 고용하면 해당 서버로 전송 한 다음 실행합니다 브라우저에서 그러나 모든 수정 작업을 서버에 보내면 그런 다음 우리가 테스트하면 개발, 즉 생산성이 떨어지게됩니다

인상적인 방법으로 자동 전송 양식이 있어도 그러나 자동으로 배포하는 방법으로는 개발이 중단됩니다 배송비가 들기도하고, 또한 배송 비용이 많이 들기 때문에 페이지를 클릭하여 컴퓨터에 저장된 페이지에 액세스하십시오 그런 다음, 모든 개발자가 컴퓨터에 서버를 설치하는 일반적인 방법은 다음과 같습니다 그래서 우리는 우리의 응용 프로그램을 훨씬 빨리 테스트 할 수 있습니다 우리가 본 것처럼 이전 클래스에서 모든 PHP 코드는 서버와 그 서버 내에서 실행됩니다

정보를 처리하여 고객에게 보냅니다 현재 세계에서 가장 널리 사용되는 서버로, APACHE 서버입니다 APACHE 서버는 커뮤니티가 개발 한 애플리케이션으로, OpenSource 응용 프로그램이며, 대부분 컴퓨터에서 실행됩니다 UNIX 운영 체제, 즉 Linux 운영 체제를 사용합니다 그러면 어떻게해야합니까? 우리는 이미 서버가 연결되어있는 컴퓨터를 보았습니다

그러나 우리의 단순한 사실 컴퓨터를 켠다고해서 그것이 서버라는 것을 의미하지는 않습니다 따라서, 컴퓨터 서버로 사용되는 경우 프로그램을 설치해야합니다 요청서 사람들이 서버를 컴퓨터, 뿐만 아니라 APACHE 응용 프로그램 우리가 서버를 갖기 위해서는 컴퓨터가 필요하고 응용 프로그램이 필요합니다

즉, 프로그램을 통해 고객의 요청을 처리합니다 그래서 우리가 서버에 대해 이야기하면서 우리는 컴퓨터와 프로그램에 대해 이야기하고 있습니다 요청을 처리합니다 우리가 개발에 사용할 서버, APACHE 서버입니다 그러나 인터넷에서 요청을 처리하도록 설계된 프로그램, 파일 형식을 구별 할 수 없습니다

왜, 서버의 목표 요청 된 모든 것을 제공하는 것입니다 그렇지 않으면 관리자가하는 모든 것 서비스 할 서버를 구성하십시오 그래서 우리는 서버에 가야합니다 PHP 파일 인 APACHE은 그 사이에 파일이 하나 더 있습니다 즉, 클라이언트 APACHE 서버에 PHP 파일, Apache 서버를 요청하십시오

PHP 코드를 실행하도록 구성되어 있으면 요청한 파일을 간단히 잡을 것입니다 우리 고객에게 소스 코드를 보냅니다 그러나 우리의 목표는 우리의 소스 코드는 오히려 우리의 코드를 서버 PHP는 다음과 같은 모듈이라는 것을 이해하는 것이 매우 중요합니다 APACHE 서버에 연결됩니다 즉, PHP는 기능을 확장하는 모듈입니다

APACHE 서버에서 그래서 우리는 아파치 서버가 받아야 할 때가있다 요청이며이 요청은 PHP 파일을 참조합니다 우리는 아파치 서버가 PHP 모듈에 접속할 것이고 우리 서버 아파치는 PHP 모듈에게 말할 것이다 : 보라, 요청을 한 클라이언트가있다 PHP 파일의

요청한 PHP 파일은이 디렉토리에 저장되고 그 이름이 있습니다 그런 다음이 파일을 해석하십시오 대답이있을 때, 언제 당신은 통역을 끝내고, 처리 된 정보를 나에게 줘 고객 아파치가 어떻게 작동하는지 설명하는 것이 복잡하기 때문에, 그리고 아파치 서버 모듈이 어떻게 작동하는지에 대해 설명합니다

여기에 그래픽을 넣으십시오 실제로 일어나는 일을 보여줄 수 있어야합니다 그래서 가자! 우리는 3 명의 고객이 있습니다 클라이언트 A, 클라이언트 B 및 클라이언트 C 3 명의 클라이언트 모두가 여기에 그 서버가 제공하는 것입니다

우리가 확신 할 수 있듯이, 이러한 클라이언트가 웹 페이지를 요청하고 있습니까? 이것은 모든 사람이 3 개의 클라이언트가 포트 80을 통해 서버에 연결하고 포트 80으로 연결하면 서버에 대한 웹 요청을하기위한 국제 표준 인 이 3 명의 고객 모두가 그 순간에 WEB 페이지와 거래를한다는 것입니다 이 사용 된 유일한 포트가 포트 80이기 때문에 우리는 하나의 클라이언트 A를 가지고 있기 때문에 indexhtml 파일의 요청 그런 다음이 요청서가 웹 서핑을 통해 도착했습니다 이 요청이 포트 80을 통해 도착했기 때문에 포트 80을 통해 서버에서 우리는 아파치 서버에 있어야한다 그는 포트에서 일어나는 모든 일을 듣고있다

80 그런 다음 그는이 요청을 가로 채서 클라이언트가 HTML 도트 파일을 요청합니다 그런 다음 그는이 징발을 받아서 정적 모듈, 정적 파일을 제공하는 모듈 곧, 우리는 우리는이 모듈을 가지고 있고, 그것은 디스크상의 파일을 읽을 것이고, 그러면 그것은 아파치 서버 코어 그가 디스크에 가져온 파일,이 경우에는 파일 indexhtml apache는 여전히 클라이언트와 연결되어 있으므로 모듈에있는 데이터를 가져옵니다

이 데이터를 반환하고 클라이언트에 보냅니다 즉, 그 과정입니다 모듈 식의 우리가 아파치 서버와 이야기하고 있지만, 아파치 서버는 다양한 유형의 파일을 처리하는 일련의 모듈입니다 그런 다음 클라이언트 A가 포트 80을 통해 요청을했습니다 포트 80, 그것은 웹 파일을 송수신하기위한 기본 포트이므로, 24 시간 동안 유지되는 컴퓨터 내부에서 실행되는 프로그램

이 프로그램은 클라이언트가 요청한 정보의 유형을 처리합니다이 경우에는 확장 프로그램의 확장 HTML 포인트, 정적 파일임을 알 수 있습니다 그런 다음 그는이 징발을 취합니다 클라이언트 (A)는 정적 파일 처리를 담당하는 모듈로 전송한다 그래서 우리는 정적 모듈을 가지고 있습니다

디스크에 있었고, indexhtml 파일을 읽었습니다 정보를 묶어서 아파치로 보냈다 아파치, 여전히 그렇듯이 포트 80을 통해 클라이언트 A에 연결되면 반환 된 정보를 사용합니다 정적 모듈을 통해 포트 80을 통해 클라이언트 A로 전송합니다

그런 다음 우리는이 웹 거래를 가지고 요청을했고 곧 그녀는 돌아왔다 따라서 우리는 클라이언트가 Apache 서버에 요청할 때마다 그렇게합니다 우리 서버와 클라이언트는 아파치 서버가 연결될 때까지 연결 상태를 유지할 것입니다 또는 아파치 서버에 설치되어있는 일부 모듈은 요청을 처리한다 요청한 컴퓨터로 다시 보냅니다

즉, 우리는 매번 고객 아파치 서버에 요청을하면 두 서버가 서로 연결될 때까지 apache 서버가 클라이언트가 요청한 데이터를 리턴하거나, 파일이 존재하지 않는다는 오류 메시지를 반환하거나 궁극적으로, 아파치 서버가 시간 초과라는 오류를 반환합니다 즉, 아파치 서버가 응답합니다 고객에게 그가 말한 요청이 처리되는 데 오랜 시간이 걸렸으며, 곧, 그는 그 과정을 끝내기로 결정했다 따라서 요청에 너무 오래 걸리면 처리 될 때, 아파치 서버는이 실행을 종료하려고 시도하지만, 오류가 발생하여 모듈이 중지되지 않습니다 그런 다음 Apache 서버는 이 프로세스를 취소하고 클라이언트에게 오류 메시지를 보냅니다

실행하는 데 오랜 시간이 걸렸고 서버가이를 제공 할 수 없었습니다 고객이 요청한 동시에 고객 C가 있습니다 그는 징발을하고 있습니다 해당 URL / data / clients URL을 통해 포트 80을 통해서도 들어갑니다 그래서 우리는 아파치 서버가 포트 80에서 청취하고있다

그런 다음 이벤트가 발생한다 클라이언트 C가 서버에 연결되었음을 나타냅니다 아파치 서버가이 요청을받습니다 파싱 ​​한 다음 wsgi 모듈로 보내기로 결정했다고 가정합니다 이 요청을 해결하십시오

일반적으로 wsgi 모듈은 프로세스를 처리하는 모듈입니다 페이지는 파이썬으로 만들었습니다 그런 다음 WSGI 모듈은 요청 된 정보를 처리합니다 클라이언트 C가 곧 응답을 받고 서버로 보내고 서버로 보낸다 아파치는 여전히 클라이언트 C와 연결되어 있으며, 아파치 서버가 픽업하여 데이터를 리턴한다 마지막으로 클라이언트 B도 요청을했습니다

그러나 클라이언트 B 요청은 /mainphp URL을 실행하는 것입니다 그런 다음 서버 아파치가 확인합니다 죄송합니다 PHP 파일입니다

누가 PHP 파일을 해결합니까? 너는 PHP 모듈 그런 다음 아파치 서버가이 요청을 받아 모듈로 보냅니다 PHP PHP 모듈은 mainphp 파일을 열면 포함 된 PHP 코드를 해석합니다

이 파일에 모듈이 PHP 코드를 해석하면 응답을받습니다 이 응답은 우리의 아파치 서버, 아파치 서버, 그리고 클라이언트 B와 연결되어 있습니다 왜냐하면 우리가 이미 연구 한 것처럼 연결 클라이언트와 서버 간에는 서버가 응답을 반환 할 때까지 유지 관리됩니다 그런 다음 서버는 PHP 모듈 (이 경우에는 모듈)에서 나온 응답을받습니다

PHP는 파일에 포함 된 PHP 코드를 해석하여이 응답을 받았습니다 mainphp 그리고 아파치 서버는이 처리 된 정보를 취하여 이 정보는 클라이언트 B에게 전달됩니다 보시다시피, 서버는 컴퓨터입니다

연결되어있는 컴퓨터에서 프로그램을 실행 중입니다 즉, 듣고, 포트 80에서 만들어진 요청 포트 80에 도착하면 웹 페이지의 요청입니다 그래서 우리는 서버를 가지고 있어야합니다 아파치는 웹 페이지의 관리 및 처리를 담당합니다

곧, 우리는 우리는 아파치 서버가 도착한 요청을 관리하는 프로그램이라는 것을 알고있다 따라서 요청에 따라 Apache 서버는 사용할 모듈을 결정합니다 이 요청을 처리해야하는 경우이 요청은 해당 모듈로 전송됩니다 모듈은이 요청을 처리하고, 아파치 서버와 서버로 돌아갑니다 끝으로, apache 서버는 요청한 클라이언트로 돌아갑니다

그래서이게 다야 직원들! 이 수업에서 우리는이 요청과 같이 서버에 대한 요청이 어떻게 작동 하는지를 보았습니다 처리 된 요청이 클라이언트에 반환되는 방법을 설명합니다 그리고 다음 학급에서는, 우리는 우리의 연구를 계속할 것입니다! 그게 다야, 너를 우리 다음에 만날거야 수업, 고마워요

나중에 보게, 안녕!

PHP: XAMPP Problemas

안녕하세요, 저는 알리 칸테 대학교 (University of Alicante)의 컴퓨터 과학 교수 인 Sergio Luján Mora입니다 그리고이 비디오에서는 "웹 개발 소개"과정의 일부입니다

Windows에서 XAMPP로 발생할 수있는 몇 가지 문제에 대해 이야기하겠습니다 시작하기 전에 내가 할 수있는 웹 사이트 몇 가지를 알려드립니다 저와 제 일에 대한 더 많은 정보와 저에게 연락 할 수있는 두 가지 방법을 찾으십시오 내 이메일 sergiolujan@ua

es와 트위터 계정 @sergiolujanmora를 통해 아직 보지 않았다면이 비디오를보기 전에 비디오 "XAMPP"를 보는 것이 좋습니다 XAMPP의 정의, 설치 방법 및 작동 방법을 설명합니다 저는 5 년 넘게 XAMPP를 사용해 왔고 두 가지 간단한 문제 만있었습니다 솔루션입니다

이 동영상에서 제가 여러분에게 말할 것입니다 XAMPP를 루트 디렉토리에 설치하지 않으면 발생할 수있는 첫 번째 문제가 발생합니다 당신은 하나의 디렉토리 안에서 그것을한다 또는 설치 한 후 사이트에서 이동했는데 작동하지 않을 수 있습니다 올바르게

이 경우 "setup_xamppbat"을 실행하십시오 이 스크립트는 업데이트됩니다 현재 경로에 대한 XAMPP 구성 요소의 여러 구성 파일 경로 확실히이 방법으로 XAMPP가 올바르게 다시 작동합니다 두 번째 문제는 다른 모듈을 사용하는 포트와 관련이 있습니다

XAMPP 예를 들어, XAMPP를 가져 오는 Apache 웹 서버는 포트를 사용하도록 구성됩니다 즉, HTTP의 경우 포트 80이고 HTTPS의 경우 포트 443입니다 그러나 이러한 포트가 이미 사용 중이라면 어떻게됩니까? 그러나 기본 관리자 시스템과 같은 나머지 XAMPP 모듈에서도 마찬가지입니다 MySQL 데이터 또는 Mercury 메일 서버의 경우에도 포트가 사용 중일 수 있습니다 다른 프로그램의 경우 XAMPP 제어판 버전 3을 실행하면 경고 메시지가 표시되며 XAMPP 모듈에 필요한 포트는 이미 사용 중입니다

"Netstat"버튼을 사용하면 모든 창이 표시되는 창에 액세스 할 수 있습니다 사용중인 포트 및 포트를 사용중인 포트 예를 들어, 포트 80과 포트 443이 이미 다른 프로그램에서 사용 중이거나, 이 예에서와 같이 Skype 문제가있는 다른 프로그램은 VMWare 또는 Internet Information Server이며, 아파치가 기본적으로 사용하는 포트 80과 443을 사용하기 때문이다 이 문제에 대한 해결책은 세 가지가 있습니다

다른 프로그램을 중지하거나 다른 프로그램에서 충돌하는 포트를 변경하거나 XAMPP에서 변경할 수 있습니다 예를 들어 포트에 문제가있을 수있는 XAMPP를 제공하는 Apache 웹 서버 80 및 443을 사용하십시오 Skype에서 포트를 변경하려면 "옵션"과 "연결"패널로 가야합니다 연결을위한 대안으로 포트 80과 443을 사용하는 옵션입니다 들어오는 이 옵션을 비활성화하면 Skype는이 두 포트와 서버 사용을 중단합니다

아파치가 제대로 작동합니다 또는 Apache 구성을 변경할 수도 있습니다 이를 위해 두 가지를 수정해야합니다 파일 첫 번째 파일은 " xampp apache conf "디렉토리에 있으며 "httpd

conf"라고합니다 이 파일에서 포트 80을 참조하는 행을 변경해야합니다 대신 8080과 같이 사용 가능한 다른 포트 두 번째 파일은 " xampp apache conf extra "디렉토리에 있으며 호출됩니다 httpd-ssl

conf 이 파일에서 포트 443을 참조하는 행을 변경해야합니다 그 자리에 예를 들어 4443과 같은 다른 포트가 있습니다 그러나 Apache 포트를 변경하면 더 이상 정상적인 방법으로 연결할 수 없습니다 "Localhost"하지만 포트를 지정해야합니다

그것을 기억하십시오 마지막으로, 다른 문제가 있으면 XAMPP FAQ를 확인하는 것이 좋습니다 어쩌면 문제에 대한 답을 찾을 수 있습니다 그리고 그렇지 않다면 Google을 검색하십시오 당신이 그 문제의 첫 번째가 아니 었는지와 분명히 누군가가 그 문제를 해결했는지 확인하십시오

전에 이 비디오는 "웹 개발 소개"과정의 일부입니다 ideswebes 주소에서 구할 수 있습니다 주의 해 주셔서 대단히 감사합니다

XAMPP-MySQL, ejemplos de configuración: instalación y ejemplos de configuración

안녕하세요, 비디오 "Xampp-MySQL, 설치 및 구성 예제"에 오신 것을 환영합니다 내 이름은 Armando Suárez이고 나는 알리 칸테 대학 (Alicante University)의 컴퓨터 과학 교수입니다

이 비디오는 Introduction to Web Development 과정에 속합니다 이 두 번째 비디오에서는 시스템을 갖기 위해 Xampp을 빠르게 설치합니다 시원한 거기에서 phpMyAdmin을 사용하여 매우 간단한 구성 변경을 할 것입니다 시작 매개 변수 파일을 편집하도록 강요하는 시스템의 이 시점에서, 그것을 설치하지 않은 사람은 거의 없을 것입니다 우리를 보자

같은, 우리는 Xampp의 깨끗하고 신선한 설치를 얻을 것이지만, 의도와 함께 MySQL 모듈에 중점을 둡니다 우리는 당신에게 최신 버전의 다운로드 작업을 저장하므로, 지체없이, 우리는 첫 번째는 Microsoft Visual C ++ 라이브러리에 대한 필요성을 알리는 것입니다 그것을 해보자 케이스 우리는 인터넷에 우리의 superconnection와 함께 다운로드 설치를 시작합니다

우리는 삶을 복잡하게하지 않으며 모든 것에 긍휼을 기울이고 도망갑니다 우리는 Xampp을 가지고 어디로갔습니다 여기서 우리는 "다음, 대화 "에서 멈추지 않거나 읽는 것을 읽지 않고"다음과 같이 "할 수 있습니다 우리의 슈퍼 컴퓨터는 우리가 응답 할 때까지 속삭 인 채로 포장을 풀고 설치합니다 제어판에 액세스하려면 질문에 대답하십시오

이제는 우리가 차지하는 서비스 인 http 서버와 MySQL이 비슷하다는 것을 알 수 있습니다 Windows 서비스 및 실행 phpMyAdmin을 통해 처음으로 MySQL에 들어 왔으며, admin 버튼에서 액세스 할 수 있습니다 제어판의 우리는 들어갈 수 있었지만 붉은 색으로 알려주는 경고가 있습니다 수퍼 유저 "root"는 암호를 가지고 있지 않습니다

서버가 우리의 컴퓨터에서 단지 테스트 이상으로 실행되지 않고 침입자에 대한 더 큰 위험이있을 것이며, 또한 남을 수 있습니다 그러나 "전문가"가되자 보안을 조금 더 강화합시다 이전 버전의 "권한"은 이제 "사용자"라고 불렀습니다 아마도 성공적인 변화

여기에이 설치의 모든 사용자가 표시됩니다 MySQL을 청소하고, 우리가 관심이있는 'root'@ 'localhost', 우리는 여러분의 권한을 편집합니다 우리는 암호 사이트를 검색하고 하나를 넣습니다 아무 일도 없었던 것 같은데, 그렇지? 하지만 페이지를 새로 고치면 조용하고, 아무 일도 일어나지 않습니다 phpMyAdmin의 설정을 입력해야합니다 마침내 우리는이 시위의 진정한 이유를 찾게됩니다 제어판이나 phpMyAdmin과 같은 프로그램에서 모든 것을 관리 할 수있는 것은 아닙니다

때로는 프로그램의 부팅 파일을 수동으로 편집해야합니다 phpMyAdmin은 Xampp 경로의 phpMyAdmin 폴더에 있습니다 우리가 할 첫 번째 일은 "güindous"의 어리 석음을 은신처에서 제거하는 것입니다 프로그램의 확장 기억해라, 우리는 단지 아무도 아니다

이제 네, phpMyAdmin 시작 파일은 "configincphp"입니다

구성 파일은 가변 값 쌍이있는 일반 텍스트 파일입니다 우리는 특정 행동을 달성하기 위해 우리가 좋아하는 이러한 가치를 수정하실 수 있습니다 프로그램의 우리의 경우 phpMyAdmin이 계정으로 MySQL에 접근하도록하는 것입니다 우리가 암호를 변경 한 "root" 이 데이터를이 변수에 저장하고 그리고 우리는 닫는다 우리는 웹 클라이언트를 다시 열고

침착합니다 위험은 없습니다 브라우저가 이미 존재했습니다

열리다 페이지를 새로 고침하고 예, 우리는 안으로 돌아 왔습니다 다른 예 우리는 정확하게 인증 방법을 바꿀 것입니다 무엇을 지켜야 하는가? 텍스트 파일의 암호가 거의 망명의 이유입니다 우리는 phpMyAdmin이 시작할 때마다 사용자 이름과 암호를 요청할 것입니다 들어 부팅 옵션 파일로 돌아 가야합니다 분명히, 무엇이든을 바꾸기 위해서는 먼저 자신을 문서화해야합니다 우리가 한 것처럼, 이 특정 변수에 넣어야하는 올바른 값은 "http"입니다 웹 브라우저를 통한 인증

우리는이 기회를 통해 모든 민감한 정보, 사용자 이름 및 암호 우리는 계속 간다 이제 phpMyAdmin의 초기 페이지가 직접 나타나지 않습니다 MySQL에 알려야합니다 어떤 사용자를 우리가 일할 것인가? 분명히, 이들은 매일 또는 가볍게해야 할 일이 아닙니다 무엇인가를 수정하기 전에 당신은 잘 알고 있어야하며 백업 사본을 만드는 것이 편리합니다

무슨 일이 일어날 지 모릅니다 우리는 Xampp의 새로운 버전을 설치하여 패키지가 제공하는 것을 확인했습니다 처음에는 우리는 우리가 가지고있는 보안과 관련하여 phpMyAdmin 시작 옵션 파일을 편집하도록 유도했습니다 지금까지 MySQL과 phpMyAdmin의 예제 구성

내가 가지고 있기를 바란다 유용했습니다 이 비디오는 웹 개발 개론 과정의 일부로, 나에게 연락하고 싶으면 armando@dlsiuaes에서 할 수 있습니다

대단히 감사합니다

Curso de introducción a PHP | Desde cero

빠르고 유연하며 실용적인 PHP는 모든 것에 에너지를 공급합니다 개인 블로그에서 가장 인기있는 인터넷 사이트에 이르기까지 동적 인 웹 사이트를 프로그래밍하는 방법을 배우고 싶다면, PHP는 시작하기에 가장 좋은 언어 중 하나입니다

안녕하세요, 저는 Héctor Benítez입니다 저는 Nearsoft의 소프트웨어 개발자입니다 Platzi의 PHP 입문 과정에서 선생님이 될 것입니다 이 과정에서 PHP 7을 사용하여 동적 인 웹 사이트를 만드는 법을 배울 것입니다 PHP의 최신 버전

당신은 객체 지향 코드를 작성하고, 데이터베이스에 연결할 것이다 가장 대중적인 PHP 라이브러리를 프로젝트에 통합하는 방법을 배우게 될 것입니다 무엇을 기다리고 있니? 이 쿠소가 끝나면 자신 만의 웹 페이지를 만들 수 있습니다 지금 wwwplatzi

com/php에 들어가서 필요한 모든 것을 배우십시오

PHP: ejemplo de inyección de SQL

안녕하세요, 저는 알리 칸테 대학교 (University of Alicante)의 컴퓨터 과학 교수 인 Sergio Luján Mora입니다 그리고이 비디오에서는 "웹 개발 소개"과정의 일부입니다

SQL 주입의 두 가지 예를 보여 드리겠습니다 시작하기 전에 내가 할 수있는 웹 사이트 몇 가지를 알려드립니다 저와 제 일에 대한 더 많은 정보와 저에게 연락 할 수있는 두 가지 방법을 찾으십시오 내 이메일 sergiolujan@ua

es와 트위터 계정 @sergiolujanmora를 통해 이 비디오에서는 SQL 주입이 무엇인지 설명하지 않겠습니다 그래서, 만약 당신이 모르는 SQL 주입이란 무엇입니까? 예 : Wikipedia에있는 기사 또한 문서에있는 SQL 삽입에 대한 기사를 확인할 수도 있습니다 PHP 관계자 어쨌든, SQL 삽입은 단순히 삽입으로 정의 될 수있다

응용 프로그램의 프로그래밍 된 SQL 코드 내 침입 SQL 코드 SQL 인젝션에 대한 간단한 두 가지 예제와 자신을 보호 할 수있는 최선의 방법을 살펴 보겠습니다 이 유형의 공격 분명히, SQL 인젝션의 예제를 수행하기 위해서 우리는 공격을 수행 할 데이터 내가 사용할 데이터베이스는 기본 데이터베이스입니다 매우 간단한 데이터, 목록이있는 사용자라는 단일 테이블로 구성됩니다

사용자 수 이 경우 나는 "Sergio", "Manolo" 와 "다니엘" 내가 사용하는 "users-backup"이라는 테이블도 있습니다 내가 공격 테스트를 수행하고 사용자가 복사 한 테이블에서 데이터를 삭제할 때 사용자로부터 데이터를 다시 쉽게 백업 할 수 있습니다 두 가지 유형의 공격을 표시하기 위해 두 개의 웹 페이지를 만들었습니다 처음에는 사용자가 이름을 통해 검색 할 수있는 양식, 필드 여기서 우리가 사용자 테이블에 가지고있는 이름

예를 들어 "Sergio"를 검색하는 경우 "SELECT * FROM Users"를 수행하면됩니다 이름은 Sergio이며 사용자 Sergio의 모든 데이터를 검색합니다 그러나, 우리는 존재하지 않는 사용자를 찾습니다 예를 들어, Mariano는 쿼리를 작성하기 때문에 결과가 표시되지 않습니다 이 애플리케이션의 소스 코드를 보자

코드는 매우 간단합니다 한편으로는 폼이 표시되는 HTML 페이지가 있습니다 name 값과 함께 name 속성을 전달하는 단일 텍스트 필드로 구성됩니다 및 보내기 단추 폼은이 데이터를 "formulario

php"라는 PHP 페이지로 보냅니다 "Formulariophp"는 단순히 데이터베이스에 연결하고, 데이터베이스, 사용자가 삽입 된 SELECT 인 SQL 문을 마운트하십시오 이름 필드에 입력하고 SQL 문을 실행합니다 한 번 실행하면 이 while 루프의 결과

공격이란 무엇입니까? 우리는 형식으로 돌아가서 공격을 수행 할 것입니다 그 공격은 단순히이 입력 값을 입력하는 것으로 구성되며 전송할 때 모든 사용자의 데이터 어떻게 가능합니까? 여기에 실행 된 SQL 문에 설명이 나와 있습니다 항목을 입력 할 때 '또는'1 '='1이 SQL 문과 연결되고 첫 번째 조건 이름이 남아 있습니다 빈 것과 같습니다 빈 문자열 인 이름은 없습니다 그러나 우리는 이 논리 표현식은 항상 참입니다

따라서 이것이 항상 사실이므로이 SELECT는 조건없이 SELECT가됩니다 즉, 모든 사용자와 여기를 꺼냅니다 우리는 아마 모든 사용자의 전체 목록을 볼 수 있습니다 이 하나 예를 들어 다음과 같은 형식을 건너 뛰기 때문에 공격 유형을 사용할 수도 있습니다 로그인, 웹 응용 프로그램의 식별

우리가 보게 될 두 번째 예는 더 위험합니다 우리는 전형적인 웹 사이트를 가지고있다 우리는 이메일 수신을 중단하기 위해 가입을 취소 할 수 있습니다 이 우리는 "탈퇴하고 싶으면 여기를 클릭하십시오"라는 링크가있는 페이지를 볼 수 있습니다 매개 변수가 전송되는 방식의 비디오 하단에 표시되는 URL, "correo=sergio@ua

es" Arroba는 % 40으로 나타납니다 이 버튼을 누르면 메일이 수신되는 PHP 페이지가 실행된다 이 매개 변수는 매개 변수로 전달되고이 문을 작성하는 값으로 사용됩니다 이 값과 일치하는 사용자를 효과적으로 삭제하는 SQL

이제 데이터베이스로 이동하여 users 테이블을 참조하면 여기에 사용자가 있습니다 "세르지오"는 지워졌음에 틀림 없다 우리가 그것을 다시 시험 해보면, 우리는 보게 될 것이다 해당 사용자가 얼마나 효과적으로 삭제되었는지 여기에이 예제의 소스 코드가 다시있다

첫 번째 페이지, 페이지 HTML은 매우 간단합니다 단순히 링크, 두 번째 페이지에 대한 하이퍼 링크, 실제로 다운로드를 수행하는 "bajaphp"로 사용자를 삭제하고 사용자의 전자 메일 값과 함께 mail이라는 매개 변수를 전달합니다 우리가 제거하고자하는 나는 우리가 그것을 가지고 있기 때문에 arroba가 40 %로 여기에서 반복한다 그것을 URL을 통해 특수 문자로 전달하도록 인코딩 할 수 있습니다

페이지 "bajaphp" 이전의 것과 매우 비슷하고 매우 간단합니다 데이터를 선택하고 데이터베이스를 선택하고 실행할 SQL 문을 작성하십시오 mail 매개 변수를 사용하여 DELETE를 수행하고 쿼리를 실행합니다 어디있어? 이 코드의 문제점은 무엇입니까? 우리는 웹 사이트로 돌아가서 다음을 수행 할 것입니다

링크 주소를 복사합니다 URL을 입력 한 다음 이전에 작성한 것과 비슷한 것을 추가합니다 모든 사용자를 강제로 지울 수 있습니다 특히, 나는 아포스트로피를 추가 할 것이다 텍스트 문자열을 닫으려면 OR '1'= '1

여기서 일어나는이 값은 그것은 그것이 일어나기 때문에 인코딩되어야하므로 직접 입력해야합니다 특수 문자가 포함되어 있습니다 그래서 그것을 복사하고 자바 스크립트 콘솔을 엽니 다 EncodeURIcomponent ()라는 JavaScript 함수를 사용하여 인코딩 할 것입니다 URL을 통해 가고 싶은 값 붙여 넣으면 체인이 생성됩니다

나는 정말로 지나갈거야 나는 그것을 복사하고 그것을 대체합니다 나는 이것을 여기에서 제거한다 이제 사용자 테이블에는 두 명의 사용자가 있으며 사용자는 "Manolo"입니다 및 사용자 "다니엘"

이 명령문을 실행하면 모든 사용자 우리는 그것을 실행하고 "이메일 sergio@uaes가 구독 취소되었습니다"라고 말합니다 그러면 우리는 우리가 연결 한 표현을 갖게됩니다 그리고 어떻게 조건 한편으로는 우편물이이 경우에는 실현되지 않을 것입니다

왜냐하면 이 사용자는 항상 "true"인 표현식을 "OR"하기 전에 이미 삭제했습니다 이제 사용자 테이블로 다시 이동하여 검토를 다시 한 번 해보면 사용자 테이블이 비어 있고 모든 사용자가 삭제되었습니다 우리가 공격했다 의 SQL 주입 우리는 어떻게 이런 종류의 공격으로부터 자신을 보호 할 수 있습니까? 두 가지 방법이 있습니다

첫 번째 방법은 phpini 파일에서 "magic quotes"를 설정하는 것입니다 그러나, 이 첫 번째 양식은 권장하지 않으며 phpini 파일 자체의 주석은 우리에게 알려줍니다 우리는 "magic_quotes"를 찾을 것이고 우리는 이것이 특징이라는 의견을 말할 것이다

위험 할 수있는 몇몇 특성을 도주하는 것을 허용하는 그러나 우리는 말한다 이 기능은 100 % 안전하지 않으며 PHP 53에서는 권장되지 않으며 PHP 6에서 제거, 삭제됩니다 따라서 이 속성을 신뢰하십시오 "On"으로 설정하면 데이터 항목이 이스케이프됩니다 그들은 인코딩 될 것이고이 예제에서 우리가 가진 문제는 일어나지 않을 것입니다

그러나 나는 반복한다 이 매개 변수를 신뢰하는 것은 좋은 해결책이 아닙니다 또한 많은 경우 우리는 phpini 파일에 접근 할 수없고 변경할 수 없습니다 두 번째 옵션은 MySQL 함수 "mysql_real_escape_string ()"을 사용하는 것입니다

"Mysql_real_escape_string ()"은 문자열의 특수 문자를 이스케이프합니다 문자열로, SQL 문에 사용됩니다 그리고 조금 더 자세히 설명하면 다음과 같습니다 MySQL 라이브러리 접두사 모음의 "mysql_real_escape_string ()"함수를 호출하십시오 뒤에 오는 특성에 반전 해, 안으로 위험 할 수있는 특성에 SQL 문

특히 여기서 우리는 내가 아 포스 트로피 특성을 발견했습니다 내 SQL 주입 공격에 사용 그렇다면이 함수로 코드에서 무엇을해야합니까? 코드에서 사용자 입력을 SQL 문에 직접 전달해서는 안되며, 그러나 우리는 다음과 비슷한 것을해야합니다 나는 예를 들면 티켓을 집어 들었다 변수 "name"에 "mysql_real_escape_string"을 수행하고 사용자 입력을 전달합니다

그리고 지금 예 SQL 문에 "name"변수를 사용할 수 있습니다 그러나 여기에 직접적으로 있지는 않습니다 사용자의 입력 내용은 위험하지만 위험한 문자는 탈출했다 다른 예에서는 같은 방식으로 행동해야합니다

나는 입구에 갈 것이다 사용자, 여기에 변수 "mail"과 "mail"을 넣을 것입니다 다시 깨끗한 사용자 입력이 될 것입니다 그리고 우리는 이미 그것을했을 것입니다 이 비디오를 끝내기 전에 또 다른 SQL 주입 공격을 보여 드리겠습니다

이것을 위해 저는이 연재 만화를 만들 것입니다 나는 그것을 번역했다 번역은 다음과 같다 여보세요,이 분은 당신 아들의 학교입니다 우리는 컴퓨터에 몇 가지 문제가 있습니다

오, 이런 뭔가 망가 뜨 렸니? 어떤 의미에서는 그렇습니다 그들은 정말로 그들의 아들 로버트라고 불렀다); DROP TABLE 학생; -? 오, 그래 리틀 바비 테이블 (Little Bobby Tables)

우리는 올해 학생들의 기록을 모두 잃었습니다 나는 그것이 있기를 바란다 행복한 그리고 데이터베이스의 항목을 정리하는 법을 배우기를 바랍니다 여기 무슨 일이 있었던거야? 어떤 유형의 SQL 주입 공격이 발생 했습니까? 우리는 여기서 사용자의 입구에서 공격을 봅니다 양식에 이름을 묻는 경우 사용자가 "Robert"와 같은 것을 작성했으며, SQL 쿼리를 닫고 파트를 추가했습니다

다른 SQL 쿼리의 경우 (이 경우 "DROP TABLE") 따라서 한 번의 상담만으로 SQL은 두 부분으로 실행되었습니다 여기에서 누락 된 첫 번째 부분은 올바른 부분입니다 두 번째는이 학생이 여기서 한 주사입니다 이것은 MySQL에서 원칙적으로 그것은 불가능합니다, 왜? 일반적으로 SQL 쿼리를 실행하는 데 사용되는 mysql_query () 함수 MySQL을 사용하면 여러 쿼리, 즉 하나의 문자열에서 누락 될 수 있습니다 매개 변수로 둘 이상의 쿼리를 입력 할 수 없습니다

따라서 이러한 유형의 공격은 원칙적으로 MySQL을 통해 API를 통해 가능하지 않습니다 mysql_query () 함수가 보호되어 있기 때문에 PHP에서 사용 가능한 MySQL 표준 이러한 유형의 공격을 피하기 위해 이 비디오는 "웹 개발 소개"과정의 일부입니다 ideswebes 주소에서 구할 수 있습니다 주의 해 주셔서 대단히 감사합니다

Cursos de Programación Web

Facebook, Yahoo, Wikipedia와 같은 사이트가 PHP로 개발되었음을 알고 계셨습니까? PHP는 회사 및 프로그래머가 온라인 개발에 가장 많이 사용하는 프로그래밍 언어입니다 웹 프로그래밍 과정에서는 전문 웹 프로그래머가되기 위해 필요한 도구를 배우게됩니다

소개 단계에서는 웹 페이지의 코드, HTML 및 SQL 데이터베이스의 언어를 학습합니다 중간 단계에서는 포털과 장바구니를 개발하는 PHP 언어에 대해 깊이 연구합니다 우리는 자바 스크립트와 다양한 프레임 워크로 프로그램하는 법을 배웁니다 HTML 및 CSS의 모범 사례를 사용하여 웹 사이트를 디자인합니다 우리는 외부 공격에 대한 보안 기술을 연구 할 것입니다

그리고 우리는 다른 사이트와 거래를하기 위해 웹 서비스를 사용하는 법을 배웁니다 당신은 개인적인 치료와 작은 그룹으로 처음부터 배울 것입니다 각 과정에서 실제 사례를 개발하고 통합 프로젝트를 구축 할 것입니다 그리고 한 걸음 더 나아가려면 시험 시뮬레이터를 수강하고 여기에서 국제 인증을 취득하십시오 과정이 끝나면 웹 포털 및 전자 상거래 솔루션을 개발할 수 있습니다

EducationIT에서 교육을 받고 웹 개발자가 되십시오

PHP: XAMPP

안녕하세요, 저는 알리 칸테 대학교 (University of Alicante)의 컴퓨터 과학 교수 인 Sergio Luján Mora입니다 그리고이 비디오에서는 "웹 개발 소개"과정의 일부입니다

웹 애플리케이션 개발 플랫폼 인 XAMPP에 대해 이야기 할 것입니다 시작하기 전에 내가 할 수있는 웹 사이트 몇 가지를 알려드립니다 저와 제 일에 대한 더 많은 정보와 저에게 연락 할 수있는 두 가지 방법을 찾으십시오 내 이메일 sergiolujan@ua

es와 트위터 계정 @sergiolujanmora를 통해 XAMPP는 자유 소프트웨어 웹 응용 프로그램 개발 플랫폼입니다 XAMPP의 의미는 무엇입니까? X는 다른 운영 체제 (Linux, Windows, MacOS)에서 사용할 수 있음을 의미합니다 X 및 Solaris A는 Apache 웹 서버를 사용함을 의미합니다

M은 MySQL 데이터베이스 관리자 시스템을 포함한다는 것을 의미합니다 그리고 두 개의 pes는 그것이 적절한 제품이라는 것을 의미하지는 않지만 언어에 포함됩니다 PHP와 Perl 프로그래밍 XAMPP가 존재하는이 유형의 유일한 소프트웨어가 아니며 다른 옵션을 찾을 수 있습니다 비슷한 예를 들어, EasyPHP 또는 WampServer 또는 Server2Go도 잘 알려져 있습니다

다소간, 그들은 모두 동일한 구성 요소를 가지며 동일합니다 Wikipedia에서는 WAMP 시스템의 비교를 찾을 수 있으며, XAMPP는 당신에게 관심이 없습니다 XAMPP로 돌아 가면 XAMPP는 무료이며 페이지에서 쉽게 다운로드 할 수 있습니다 관리 앞에서 말한 것처럼 XAMPP는 Linux, Windows, MacOS X 및 Solaris에서도 사용할 수 있습니다 첫 번째 단계는 운영 체제에 맞는 배포판을 선택하는 것입니다

중요 : MacOS X 및 Solaris 용 버전은 현재 실험적입니다 이 비디오에 나와있는 Windows 용 버전에는 다음이 포함됩니다 것들 : 아파치 웹 서버, MySQL 데이터베이스 매니저 시스템, 언어 PHP 프로그래밍, MySQL phpMyAdmin을위한 클라이언트 도구, FTP 서버 FileZilla, Tomcat 서블릿 관리자, Perl 프로그래밍 언어 및 패널 컨트롤 XAMPP 제어판의 다음 단계는 다운로드 및 설치 유형을 선택하는 것입니다 추가 정보를 추가 할 수있는 정식 버전을 다운로드 할 수 있으며, 또는 더 적은 수의 구성 요소가 포함 된 축소 버전을 다운로드 할 수 있습니다

정식 버전을 다운로드하고 나중에 문제가 발생하지 않도록하는 것이 좋습니다 일부 구성 요소가 부족하여 손으로 설치해야합니다 정식 버전은 세 가지 방법으로 다운로드 할 수 있습니다 ZIP 형식 또는 7zip 형식으로 압축되어 있습니다 7zip 형식을 사용하는 것이 가장 바람직하지 않으므로 7zip 형식을 사용하는 것이 좋습니다

휴대용 설치 휴대용 설치? 그게 무슨 뜻 이죠? 사실, XAMPP는 설치가 필요하지 않습니다 ZIP 또는 7zip 버전을 다운로드하면 파일 압축을 풀면됩니다 파일을 설치하거나 수정하지 않고도 실행할 준비가되었습니다 Windows 레지스트리

또한 휴대용은 USB 스틱에서 실행할 수 있음을 의미합니다 컴퓨터 파일을 다운로드 한 후에는 어떤 단위로든 압축을 풀 수 있지만 루트에서 압축을 해제하는 것이 좋습니다 이렇게하면 스크립트를 실행하지 않아도됩니다 경로를 업데이트합니다

압축을 풀면 많은 디렉토리가 "xampp"디렉토리에 나타납니다 및 많은 파일 디렉토리와 파일의 모든 혼란 중에서, 지금은 "xampp-controlexe"와 "xampp-control-3-betaexe"의 두 파일에만 관심이 있습니다

둘 다 똑같습니다 다른 구성 요소를 시작할 수있는 제어판입니다 XAMPP의 "xampp-control-3-betaexe"는 더 많습니다 현대적이고 더 많은 기능을 통합합니다

"xampp-control"을 실행하면 다음과 같은 오류 메시지가 나타날 수 있습니다 이 스크린 샷에 나타납니다 그러나 우리는 다른 비디오에서 이것을 볼 것입니다 비디오는 모든 것이 잘 진행되고 있다고 가정합니다 그래서 우리는 여러분이 아파치와 MySQL 모듈을 시작하기 위해 "Start"버튼을 눌렀다 고 가정합니다

모든 것이 잘되면 제어판에서 아파치 모듈을 보여줘야한다 MySQL이 실행 중일 때 프로세스 ID와 포트가 나타납니다 각 모듈을 사용하고 있습니다 다음은 웹 브라우저가 웹 서버가 실행 중인지 확인하는 것입니다 정말로 우리의 요구에 응답합니다

이렇게하려면 주소 표시 줄 "http : // localhost"를 입력하면됩니다 보려는 언어를 선택해야하는 이와 유사한 페이지 나머지 페이지들 이 페이지는 처음에만 나타납니다 언어가 선택되면 기본 XAMPP 페이지가 나타납니다 이 페이지에서 몇 가지 추가 점검을 할 수 있습니다

예를 들어, 작동중인 구성 요소의 요약 인 "상태"가 표시됩니다 그리고 지금은 XAMPP의 보안에 대한 매우 중요한 의견입니다 XAMPP의 제작자는 XAMPP의 목적이 생산 시스템이지만 개발 시스템입니다 따라서 XAMPP가 구성됩니다 가능한 한 공개적으로 개발자가 원하는 것을 할 수 있도록합니다

개발 시스템의 경우 이것이 최선이지만 생산 시스템의 경우 치명적입니다 XAMPP의 보안은 "보안 검사"옵션을 통해 확인할 수 있습니다 여러 구성 요소의 보안 상태를 요약 한 페이지를 보여줍니다 XAMPP의 여기에서 MySQL 및 XAMPP의 보안을 구성하는 옵션을 활성화 할 수 있습니다 기본적으로 모든 것이 열린 상태, 즉 암호없이 구성되어 있다는 것을 기억합니다

"phpinfo ()"옵션을 사용하여 PHP가 제대로 작동하는지 확인할 수도 있습니다 이 페이지는이 페이지와 유사해야합니다 마지막으로 모든 것이 올바르게 작동하면 이미 첫 번째 웹 페이지를 호스팅 할 수 있습니다 XAMPP 웹 페이지를 호스팅 할 기본 디렉토리는 "htdocs"입니다

뭐든지 해당 디렉토리에서 호스트하는 "localhost"주소를 통해 액세스 할 수 있습니다 이제 첫 번째 테스트 웹 페이지를 만들 수 있습니다 이 내용으로 액세스 할 수있는 테스트 페이지 "testhtml"을 만들 수 있습니다 웹 주소 또는이 PHP 명령어를 사용하여 "test

php"테스트 페이지를 만들 수도 있습니다 다른 웹 주소로 액세스 할 수 있습니다 이제 비디오 "XAMPP : Problems"를 보도록 초대합니다 발생할 수있는 문제점과 해결 방법 이 비디오는 "웹 개발 소개"과정의 일부입니다 idesweb

es 주소에서 구할 수 있습니다 주의 해 주셔서 대단히 감사합니다

PHP: MySQL

안녕하세요, 저는 알리 칸테 대학교 (University of Alicante)의 컴퓨터 과학 교수 인 Sergio Luján Mora입니다 그리고이 비디오에서는 "웹 개발 소개"과정의 일부입니다

내가 PHP로 존재하는 기본 함수를 보여줄 것이다 MySQL에있는 데이터의 시작하기 전에 내가 할 수있는 웹 사이트 몇 가지를 알려드립니다 저와 제 일에 대한 더 많은 정보와 저에게 연락 할 수있는 두 가지 방법을 찾으십시오 내 이메일 sergio

lujan@uaes와 트위터 계정 @sergiolujanmora를 통해 PHP에는 MySQL에 대한 특정 데이터베이스 확장이 있습니다 이 확장에서, 모든 함수는 접두어 "mysql_"로 시작합니다 이 확장은 새 코드 작성에 권장되지 않습니다

대신, mysqli 확장 또는 PDO_MySQL을 사용한다 왜? PHP의 공식 문서 중 "데이터베이스 문제"섹션에서 우리를 설명합니다 왜이 확장 기능의 사용은 권장되지 않습니다 왜 내가 10 년 이상 사용해 왔던 MySQL 확장을 사용하면, 그것은 권고되지 않습니까? 그것은 쓸모 없습니까? 대신 무엇을 사용해야합니까? 어떻게 마이그레이션 할 수 있습니까? MySQL의 세 가지 확장 기능이 있습니다 "API 선택"섹션에서 설명합니다

MySQL의 " 오래된 API는 사용하지 않아야합니다 언젠가는 쓸모없고 삭제 될 것이기 때문입니다 결국 PHP에서 인기있는 확장 프로그램이므로 느린 프로세스이지만 새로운 코드를 모두 mysqli 나 PDO_MySQL로 작성하는 것이 좋습니다

"MySQL API 선택"권장 페이지에서 예제가 표시됩니다 MySQL에 액세스하기 위해 PHP에 존재하는 세 개의 API 중 3 개의 API가 비교됩니다 알 수 있듯이 이전 API는 개발 중에 있지 않으며 해결하기 위해 유지 관리됩니다 가능한 실패 새로운 기능 중 상당수는 이전 API에서 지원되지만 학습을 시작하는 것이 좋은 옵션입니다

또한, 그것이 매우 인기가 있기 때문에, 어떤 시점에서 어떤 코드로 자신을 발견 할 가능성이 매우 높습니다 그것은 그것을 사용하기 때문에 여러분이 그것을 아는 것이 중요합니다 이 확장 프로그램의 설명서를 참조하면 항상 경고 메시지가 표시됩니다 이 API는 권장하지 않으며 다른 옵션을 사용하는 것이 좋습니다 PHP에서 데이터베이스에 연결하는 첫 번째 단계는 서버에 대한 연결을 여는 것입니다

MySQL 이렇게하려면 주소를 표시해야합니다 액세스 사용자의 사용자 이름과 암호 이 함수는 나머지에 사용해야하는 연결 식별자를 반환합니다 MySQL에 액세스하는 함수 또는 오류가 발생하면 FALSE를 반환합니다 데이터베이스 작업을 끝내면 mysql_close ()를 사용하여 연결을 닫으십시오

언제든지 mysql_ping () 함수를 사용하여 연결을 확인할 수있다 아직도 활동 중이다 다음 단계는 액세스하려는 데이터베이스를 선택하는 것입니다 이것을 위해 mysql_select_db () 함수가 사용된다 두 함수 모두 정상적으로 실행되면 TRUE를 반환하고 오류가 발생하면 FALSE를 반환합니다

그런 다음, SQL 문을 실행하려면 mysql_query () 함수를 사용해야한다 이 함수는 반환되는 SQL 문이 실행될 때 결과를 반환합니다 결과는 SELECT, SHOW, EXPLAIN 또는 DESCRIBE와 같고 TRUE이면 TRUE를 반환합니다 결과를 리턴하지 않는 SQL (예 : INSERT, UPDATE 또는 DELETE)

두 경우 모두, 예를 들어 잘못 작성 되었기 때문에 문장을 실행할 수없는 경우, FALSE를 반환합니다 마지막 작업 동안 영향을받은 행 수를 얻는 두 가지 함수가 있습니다 실행 된 마지막 명령문이 결과를 리턴하지 않으면, 즉 INSERT 유형이고, UPDATE, DELETE, mysql_affected_rows () 함수를 사용해야한다 그러나 실행 된 마지막 문장이 결과를 반환하면 즉, SELECT 타입이면 mysql_num_rows ()를 사용해야한다 행별로 결과를 이동하는 여러 가지 기능이 있습니다

mysql_fetch_array ()는 숫자로 접근 할 수있는 배열을 리턴한다 (position ) 또는 associative (컬럼의 이름) mysql_fetch_assoc ()은 연관성있는 방식으로 만 접근 할 수있는 배열을 반환한다 칼럼의 이름 mysql_fetch_object ()는 복구 된 행에 해당하는 속성을 가진 객체를 반환한다 그리고 마지막으로, mysql_fetch_row ()는 오직 접근 할 수있는 배열을 리턴한다

열의 위치와 함께 숫자 형식 이러한 모든 함수는 오류가 발생할 경우 FALSE를 반환합니다 예를 들어 더 이상 결과의 끝 부분에 도달하면 행이 늘어납니다 마지막으로 결과와 관련된 메모리를 해제하는 mysql_free_result () 함수가 있습니다 여기에 우리는 PHP로 MySQL 데이터베이스에 대한 완전한 예제를 가지고 있습니다

이 과정은 매우 간단합니다 먼저, 데이터베이스 관리 시스템과의 연결이 설정됩니다 다음 데이터베이스가 선택됩니다 그런 다음 SQL 문이 실행됩니다 그런 다음, 명령문이 결과를 반환하면이 예제에서와 같이 결과가 통과됩니다

이를 위해이 예제에서는 while 루프가 수행됩니다 그리고 마지막으로 기억이 풀립니다 사용되고 데이터베이스 연결이 닫힙니다 매우 중요 : 가능한 오류 상황을 항상 확인하십시오 생산하다 그리고 오류가 발생하면, 당신을 도울 두 가지 기능을 사용하는 것이 좋습니다 오류의 원인을 발견 할 수 있습니다

한편, mysql_errno ()는 마지막 함수의 에러 번호를 반환한다 에러가 발생하지 않았 으면 MySQL 또는 0 반면에, 마지막 함수의 에러 텍스트를 반환하는 mysql_error () 에러가 발생하지 않았다면 빈 문자열을 반환한다 이 비디오는 "웹 개발 소개"과정의 일부입니다 idesweb

es 주소에서 구할 수 있습니다 주의 해 주셔서 대단히 감사합니다