여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. PHP - MySQL 데이터 선택
PHP – MySQL 데이터 선택
2개월전 작성
1개월전 수정

데이터베이스에서 데이터 선택

SELECT 문은 하나 이상의 테이블에서 데이터를 선택하는 데 사용된다.

SELECT column_name(s) FROM table_name

또는 * 문자를 사용하여 테이블에서 모든 열을 선택할 수 있다.

SELECT * FROM table_name

MySQLi 객체 지향

MyGuests 테이블에서 id, name 및 lastname 열을 선택하고 페이지에 표시한다.

PHP
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } $conn->close(); ?>

MyGuests 테이블에서 id, firstname 및 lastname 열을 선택하는 SQL 쿼리를 설정한다.
다음 코드 줄은 쿼리를 실행하고 결과 데이터를 $result라는 변수에 넣는다.

그런 다음 이 함수 num_rows()는 반환된 행이 0개 이상 있는지 확인한다.

반환된 행이 0개 이상인 경우 함수는 fetch_assoc()모든 결과를 반복할 수 있는 연관 배열에 넣는다.
while()루프는 결과 집합을 반복하고 id, firstname 및 lastname 열의 데이터를 출력한다.

결과를 HTML 테이블에 넣을 수도 있다.

PHP
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  echo "";
  while($row = $result->fetch_assoc()) {
    echo "";
  }
  echo "
IDName
".$row["id"]."".$row["firstname"]." ".$row["lastname"]."
"; } else { echo "0 results"; } $conn->close(); ?>

MySQLi 절차

PHP
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
  while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "
"; } } else { echo "0 results"; } mysqli_close($conn); ?>

PDO

준비된 문을 사용해보자.

MyGuests 테이블에서 id, name 및 lastname 열을 선택하고 HTML 테이블에 표시한다.

PHP
<?php
echo "";
echo "";

class TableRows extends RecursiveIteratorIterator {
  function __construct($it) {
    parent::__construct($it, self::LEAVES_ONLY);
  }

  function current() {
    return "";
  }

  function beginChildren() {
    echo "";
  }

  function endChildren() {
    echo "" . "\n";
  }
}

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $stmt = $conn->prepare("SELECT id, firstname, lastname FROM MyGuests");
  $stmt->execute();

  $result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
  foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
    echo $v;
  }
} catch(PDOException $e) {
  echo "Error: " . $e->getMessage();
}
$conn = null;
echo "
IdFirstnameLastname
" . parent::current(). "
"; ?>
참고
Mingg`s Diary
밍구
공부 목적 블로그