English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_stmt_execute() 함수는 준비된 쿼리를 실행합니다.
mysqli_stmt_execute()이 함수는 준비된 문장 객체(prepare() 함수를 사용하여 생성)를 파라미터로 받아서 실행하며, 실행 중에는 모든 존재하는 파라미터 태그가 적절한 데이터로 자동으로 대체됩니다.
이 함수를 호출한 후, mysqli_stmt_affected_rows() 함수(UPDATE, DELETE, INSERT 쿼리의 경우)를 호출하면 영향을 받은 행 수를 얻습니다. 마찬가지로 mysqli_stmt_fetch() 함수(SELECT의 경우)을 호출하면 결과 집합이 반환됩니다.
mysqli_stmt_execute($stmt);
순번 | 파라미터 및 설명 |
---|---|
1 | con(필수) 이는 준비된 문장 객체를 나타냅니다. |
PHP mysqli_stmt_execute() 함수는 성공할 때는 부울 값을 반환합니다true으로 실패할 때는false.
이 함수는 원래 PHP 버전5에서 도입되었으며, 모든 높은 버전에서 사용할 수 있습니다.
MySQL 데이터베이스에 employee라는 테이블이 생성되어 있고, 내용은 다음과 같습니다:
mysql> select * from employee; +------------+--------------+------+------+--------+ | FIRST_NAME | LAST_NAME | AGE | SEX | INCOME | +------------+--------------+------+------+--------+ | Vinay | Bhattacharya | 20 | M | 16000 | | Sharukh | Sheik | 25 | M | 18300 | | Trupthi | Mishra | 24 | F | 36000 | | Sheldon | Cooper | 25 | M | 12256 | | Sarmista | Sharma | 28 | F | 15000 | +------------+--------------+------+------+--------+ 5 rows in set (0.00 sec)
아래 예제는 다음을 보여줍니다mysqli_stmt_execute()함수의 사용법(과정 지향 스타일), 실행 및 미리 처리된 update 문:
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); $stmt = mysqli_prepare($con, "UPDATE employee SET INCOME=INCOME-? WHERE INCOME >?"); mysqli_stmt_execute($stmt, "si", $reduct, $limit); $limit = 16000; $reduct = 5000; //문장 실행 mysqli_stmt_execute($stmt); print("데이터가 업데이트되었습니다......\n"); //문장 종료 mysqli_stmt_execute($stmt); //연결 종료 mysqli_close($con); ?>
출력 결과
데이터가 업데이트되었습니다......
위 프로그램을 실행한 후,employee표의 내용은 다음과 같습니다:
mysql> select * from employee; +------------+--------------+------+------+--------+ | FIRST_NAME | LAST_NAME | AGE | SEX | INCOME | +------------+--------------+------+------+--------+ | Vinay | Bhattacharya | 20 | M | 16000 | | Sharukh | Sheik | 25 | M | 13300 | | Trupthi | Mishra | 24 | F | 31000 | | Sheldon | Cooper | 25 | M | 12256 | | Sarmista | Sharma | 28 | F | 15000 | +------------+--------------+------+------+--------+ 5 rows in set (0.00 sec)
오브젝트 지향 스타일에서 이 함수의 문법은 다음과 같습니다$stmt-> 실행();。아래는 오브젝트 지향 스타일에서 이 함수의 예제, 실행 및 미리 처리된 insert 문입니다
<?php //연결 설정 $con = new mysqli("localhost", "root", "password", "mydb"); //테이블 생성 $con -> 쿼리("CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))"); print("테이블 생성.....\n"); //프리 프레이징 문장을 사용하여 값이 테이블에 입력됩니다 $stmt = $con -> prepare( "INSERT INTO myplayers values(?, ?, ?, ?, ?)"); $stmt -> bind_param("issss", $id, $fname, $lname, $pob, $country); $id = 1; $fname = 'Shikhar'; $lname = 'Dhawan'; $pob = 'Delhi'; $country = 'India'; //문장 실행 $stmt->execute(); //문장 종료 $stmt->close(); //연결 종료 $con->close(); ?>
출력 결과
테이블 생성.....
이렇게도 실행할 수 있습니다.mysqli_stmt_prepare()함수 생성 문장 -
<?php $con = mysqli_connect("localhost", "root", "password", "mydb"); $query = "CREATE TABLE Test(Name VARCHAR(255), AGE INT)"; mysqli_query($con, $query); print("테이블 생성.....\n"); //문장 초기화 $stmt = mysqli_stmt_init($con); mysqli_stmt_prepare($stmt, "INSERT INTO Test values(?, ?)"); mysqli_stmt_bind_param($stmt, "si", $Name, $Age); $Name = 'Raju'; $Age = 25; print("데이터 입력....."); //문장 실행 mysqli_stmt_execute($stmt); //문장 종료 mysqli_stmt_close($stmt); //연결 종료 mysqli_close($con); ?>
출력 결과
테이블 생성..... 데이터 입력.....