English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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(필수) 이는 설정할 필요한 지정된 문장의 속성을 나타내는 정수 값입니다. 속성은 다음 중 하나일 수 있습니다:
|
3 | mode(필수) 이는 속성에 할당할 정수 값입니다. |
PHP mysqli_stmt_attr_set() 함수는 성공 시에 대한 boolean 값을 반환합니다.true실패 시false에서 처음 도입되었습니다.
이 함수는 원래 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