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

PHP 기본 강의

PHP 고급 강의

PHP & MySQL

PHP 참조 설명서

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

PHP MySQLi 참조 매뉴얼

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 버전

이 함수는 원래 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);
?>

출력 결과

테이블 생성.....
데이터 입력.....

PHP MySQLi 참조 매뉴얼