현재 위치: > 최신 기사 목록> 쿼리의 날짜 형식 문제 처리 mysqli_result :: fetch_column

쿼리의 날짜 형식 문제 처리 mysqli_result :: fetch_column

gitbox 2025-05-26

1. 기본 예 : fetch_column을 사용하여 날짜 필드를 얻습니다

Event_Date 필드가 DateTime 타임 인 Events 라는 테이블이 있다고 가정합니다.

 <?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("연결이 실패했습니다: " . $mysqli->connect_error);
}

$sql = "SELECT event_date FROM events WHERE id = 1";
$result = $mysqli->query($sql);

if ($result) {
    // 날짜 필드를 직접 제거하십시오
    $date = $result->fetch_column();
    echo "원래 날짜 형식: " . $date;
} else {
    echo "쿼리가 실패했습니다: " . $mysqli->error;
}

$mysqli->close();
?>

출력은 다음과 같습니다.

 원래 날짜 형식: 2025-05-23 14:30:00

2. 질문 : 날짜를 포맷하는 방법?

연도, 월 및 일 부분 "2025-05-23" 만 원하거나 "2025 년 5 월 23 일" 과 같은 다른 형식으로 출력하려면 결과를 처리해야합니다.


3. 솔루션 1 : PHP의 DateTime 클래스를 사용하여 처리합니다.

 <?php
$date = $result->fetch_column();

$dateObj = new DateTime($date);
// 연도, 월, 일만 표시하는 형식
$formattedDate = $dateObj->format('Y-m-d');
echo "형식 날짜: " . $formattedDate;
?>

이 출력 :

 형식 날짜: 2025-05-23

또는:

 $formattedDate = $dateObj->format('d M Y');
echo "형식 날짜: " . $formattedDate;

산출:

 형식 날짜: 23 May 2025

4. 솔루션 2 : SQL 쿼리 중 형식 날짜

데이터베이스가 형식화 된 문자열을 직접 반환하려면 mySQL의 date_format 함수를 사용할 수 있습니다.

 <?php
$sql = "SELECT DATE_FORMAT(event_date, '%Y-%m-%d') AS event_date FROM events WHERE id = 1";
$result = $mysqli->query($sql);

if ($result) {
    $date = $result->fetch_column();
    echo "SQL 형식 날짜: " . $date;
}
?>

산출:

 SQL 형식 날짜: 2025-05-23

5. 솔루션 3 : 문자열 함수를 가로 채기 (권장되지 않음)

Substr은 날짜 문자열의 처음 10자를 직접 가로 채기 위해 사용될 수 있지만, 충분히 유연하지 않으며 오류가 발생하기 쉬운다.

 $date = $result->fetch_column();
$shortDate = substr($date, 0, 10);
echo "인터셉트 날짜: " . $shortDate;

요약

  • mysqli_result :: fetch_column이 반환 한 날짜는 문자열 형식이므로 사용자 정의를 사용자 정의하기 전에 변환해야합니다.

  • PHP DateTime을 사용하는 것은 권장되는 방법으로 유연하고 안전합니다.

  • 또한 PHP 측에서 처리를 줄이기 위해 SQL 쿼리로 직접 형식화 할 수도 있습니다.

  • 형식이 안정하다고 판단되지 않는 한 문자열로 날짜를 가로 채지 마십시오.

합리적인 처리 방법을 선택하면 날짜가 비즈니스 요구에 부응하여 코드의 유지 관리 및 견고성을 보장 할 수 있습니다.