English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기본 강의

PHP 고급 강의

PHP & MySQL

PHP 참조 매뉴얼

PHP mysqli_stmt_attr_set() 함수 사용법 및 예제

PHP MySQLi 참조 설명서

mysqli_stmt_attr_set() 함수는 준비된 문장의 동작을 수정하는 데 사용됩니다.

정의 및 사용법

mysqli_prepare() 함수를 사용하여 파라미터 표시기(값이 있을 경우 "?")가 있는 준비된 문장을 생성할 수 있습니다. 준비된 문장을 생성한 후, 사용해야 합니다mysqli_stmt_bind_param()함수는 값을 생성된 문장의 파라미터에 바인딩합니다.

mysqli_stmt_attr_set() 함수를 사용하여 문장에 다양한 속성을 설정하여 동작을 변경할 수 있습니다.

문법

mysqli_stmt_attr_set($stmt, $attr, $mode);

파라미터

순번파라미터 및 설명
1

stmt(필수)

이는 준비된 문장 객체를 나타냅니다.

2

attr(필수)

이는 설정할 필요한 지정된 문장의 속성을 나타내는 정수 값입니다. 속성은 다음 중 하나일 수 있습니다:

  • MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH

  • MYSQLI_STMT_ATTR_CURSOR_TYPE

  • MYSQLI_STMT_ATTR_PREFETCH_ROWS

3

mode(필수)

이는 속성에 할당할 정수 값입니다.

반환 값

PHP mysqli_stmt_attr_set() 함수는 성공 시에 대한 boolean 값을 반환합니다.true실패 시false에서 처음 도입되었습니다.

PHP 버전

이 함수는 원래 PHP 버전5중에서 도입되었으며 모든 더 높은 버전에서 사용할 수 있습니다.

온라인 예제

다음 예제에서 설명합니다mysqli_stmt_attr_set()함수의 사용법(과정 방식)-

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT); 
   mysqli_query($con, $query);
   print("테이블 생성.....\n");
   //insert into Test values('Raju', 25);
   $stmt = mysqli_prepare($con, "INSERT INTO Test values(?, ?)");
   mysqli_stmt_bind_param($stmt, "si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("데이터 입력.....\n");
   $res = mysqli_stmt_attr_set($stmt, MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH, TRUE);
   if($res){
      print("성공.....\n");
   }
      print("실패.....\n");
   }
   $val = mysqli_stmt_attr_get($stmt, MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
   print("값: " . $val);
   //문장 실행
   mysqli_stmt_execute($stmt);
   //문장 종료
   mysqli_stmt_close($stmt);
   //연결 닫기
   mysqli_close($con);
?>

결과 출력

테이블 생성.....
데이터 입력.....
성공.....
값: 1

온라인 예제

객체 지향 스타일에서 이 함수의 문법은 다음과 같습니다$stmt-> close();。아래는 객체 지향 스타일에서 이 함수의 속성 설정 예제입니다;

<?php
   //연결 설정
   $con = new mysqli("localhost", "root", "password", "mydb");
   $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT); 
   $con -> query($query);
   print("테이블 생성.....\n");
   //insert into Test values('Raju', 25);//,('Rahman', 30),('Sarmista', 27);
   $stmt = $con -> prepare("INSERT INTO Test values(?, ?");
   $stmt -> bind_param("si", $Name, $Age);
   $Name = 'Raju';
   $Age = 25;
   print("데이터 입력.....\n");
   //속성 설정
   $res = $stmt->attr_set(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH, TRUE);
   if($res){
      print("성공.....\n");
   }
      print("실패.....\n");
   }
   $val = $stmt->attr_get(MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH);
   print("값: " . $val);
   //문장 실행
   $stmt->execute();
   //문장 종료
   $stmt->close();
   //연결 닫기
   $con->close();
?>

결과 출력

테이블 생성.....
데이터 입력.....
성공.....
값: 1

PHP MySQLi 참조 설명서