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

MySQL WHERE 절 사용

MySQL WHERE 절은 레코드를 필터링 하는 데 사용한다.

WHERE 절은 지정된 조건을 충족하는 레코드만 추출하는 데 사용됩니다.

SELECT column_name(s) FROM table_name WHERE column_name operator value

MySQLi 객체 지향

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 WHERE lastname='Doe'";
$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(); ?>

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

그런 다음 function 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 WHERE lastname='Doe'";
$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 WHERE lastname='Doe'";
$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

준비된 문을 사용해보자.

성이 “Doe”인 MyGuests 테이블에서 id, firstname 및 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 WHERE lastname='Doe'");
  $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
밍구
공부 목적 블로그