[PHP DB] MySQL Select

 |   웹 개발/기술/PHP

SELECT 구문은 데이터베이스로부터 데이터를 선택할때 사용됩니다.




데이터베이스 테이블로부터 데이터 선택하기

SELECT 구문은 데이터베이스로부터 자료를 선택할때 사용됩니다.


문법

SELECT column_name(s)
FROM table_name

위와같이 "SELECT 컬럼이름 FROM 테이블이름" 과 같은 형태를 가집니다. 컬럼이름은 하나나, 혹은 그 이상의 여러개가 올 수 있습니다.

PHP가 위의 구문을 실행하도록 하려면 mysql_query() 함수를 사용해야 합니다. 이 함수는 쿼리나 명령을 MySQL 연결로 전송하는데 사용됩니다.


예제

아래의 예제는 "Persons" 테이블에 저장된 모든 데이터를 선택합니다 (문자열 * 을 사용하면 테이블안의 모든 데이터를 선택합니다):

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$result = mysql_query("SELECT * FROM Persons");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
mysql_close($con);
?>


위의 예제에서는 $result 변수에 mysql_query() 함수에 의해 반환된 데이터를 저장합니다.

다음으로 레코드셋으로부터 첫번째 행을 배열로서 반환받기 위해서 mysql_fetch_array() 함수를 사용합니다. mysql_fetch_array() 를 호출할때마다 각각 레코드셋의 다음행을 반환합니다. while 반복문은 레코드셋의 모든 레코드들을 돌면서 레코드의 수만큼 반복됩니다.

각 행의 값을 출력하기 위해, 예제에서는 $row 변수를 사용합니다. ($row['FirstName']와 $row['LastName'])


위 코드의 출력 결과는 다음과 같습니다:


Peter Griffin
Glenn Quagmire




결과를 HTML 테이블로 표시하기

다음 예제는 위쪽에 있는 예제와 똑같은 데이터를 선택한다음, 데이터를 HTML 테이블안에 표시합니다:


<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("my_db", $con);

$result = mysql_query("SELECT * FROM Persons");

echo "<table border='1'>
<
tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['FirstName'] . "</td>";
echo "<td>" . $row['LastName'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>


위 코드의 출력 결과는 아래와 같습니다:

Firstname Lastname
Glenn Quagmire
Peter Griffin