23
2017-Jul
[php/mysqli] 설치 및 연동
작성자: Blonix
IP ADRESS: *.64.228.3 조회 수: 1692
주의사항이라면 php7 이상에서는 기존의 mysql 함수를 지원하지 않는다.
https://ckon.wordpress.com/2015/08/06/put-mysql-functions-back-into-php-7/
위 방법을 사용해 어떻게 할 수는 있다는 것 같은데 그냥 빠르고 안전한 mysqli를 쓰자.
apt-get update
이후 설치는 알아서 검색후 잘 하자.
php7-nightly 로 최신버전 받자.
php5 받고싶으면 알아서 진행. php5에서는 기존 mysql 함수 사용 가능하다.
php, mysql 모두 잘 설치하고 apache2든 nginx든 서버 구동해서 페이지를 성공적으로 띄운 상태를 가정하겠다.
index.php 파일에
phpinfo();
를 넣고 띄워서 정보를 살펴볼 수 있다.
버전이라던가 php.ini 파일의 경로라던가 등을 말이다.
이후 mysql 포트변경이라던가 php.ini을 수정할 일은 종종 있을테니 경로정도는 알아두자.
터미널로 돌아가서..
dpkg --list | grep php
를 치면 설치된 php 모듈들이 뜬다.
php7.1-mysql 이 설치되어 있는지 확인한다. 없으면 apt-get install php-mysql 로 설치한다.
(버전은 굳이 7.1 아니라도 설치한 버전이면 된다)
이제 php 파일로 가서 연동을 해보자. 아래 모든 구문은 <?php ?> 안에 들어가 있는 구문이다.
$mysql_hostname = '주소';
$mysql_username = '계정';
$mysql_password = '계정';
$mysql_database = 'DB이름';
$mysql_port = '포트';
//1. DB 연결
$connect = mysqli_connect($mysql_hostname , $mysql_username, $mysql_password) or die("SQL server에 연결할 수 없습니다.");
//주소는 localhost 로 하면 자기자신에게 연결한다. 도메인이 있으면 도메인도 상관 無
//php7.0 에서는 mysql_connect 을 지원하지 않는다.
//포트 디폴트는 보통 3306으로 되어있으며 위처럼 아예 포트값을 넣지 않으면 디폴트로 연결된다.
//자세한 연결옵션에 대해서는 mysqli_connect 함수 검색해서 자세히 알아볼 것
//2. DB 선택
mysqli_select_db($connect, $mysql_database) or die('DB 선택 실패');
extract($_POST);
$sql= "SELECT * FROM tbl_playerdata WHERE SoldierName Like '%$user_nic%' LIMIT 5";
$rs = mysqli_query($connect, $sql); // sql문 실행
while($info=mysqli_fetch_array($rs)){
echo "Level : ".$info['GlobalRank']."<br>";
echo "Name : ".$info['SoldierName']."<br>";
echo "EAGUID : ".$info['EAGUID']."<br>";
echo "PB Guic : ".$info['PBGUID']."<br>";
echo "IP_Address : ".$info['IP_Address']."<br>";
echo "CountryCode : ".$info['CountryCode']."<br>"."<br>";
}
mysqli_close($connect);
sql injection 방어를 위해 아래 방법 사용을 권장
http://fogeaters.cafe24.com/xe/board18/26529
최적화를 위해 아래 게시글 참고
http://fogeaters.cafe24.com/xe/board11/26500