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

PHP 기초 강의

PHP 고급 강의

PHP & MySQL

PHP 참조 매뉴얼

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

PHP MySQLi 참조 매뉴얼

mysqli_stmt_fetch() 함수는 사전 준비된 문장의 결과를 바인딩된 변수에 추출합니다。

정의 및 사용법

mysqli_prepare() 함수를 사용하여 파라미터 표시기(“?”)가 있는(가 있으면) 준비된 문장을 생성할 수 있습니다. 준비된 문장 이후에, 다음을 사용하여mysqli_stmt_bind_param()함수는 생성된 문장의 파라미터에 값을 바인딩합니다。

같은 방식으로 mysqli_stmt_bind_result() 함수를 사용하여 문장의 결과 집합의 열을 필요한 변수에 바인딩할 수 있습니다。

만약 호출하면mysqli_stmt_fetch();함수는 바인딩된 열 이후에, 결과의 열을 지정된 변수에 추출합니다。

문법

mysqli_stmt_fetch($stmt);

파라미터

순번파라미터 및 설명
1

stmt(필수)

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

반환 값

데이터를 가져오면 PHP mysqli_stmt_fetch() 함수는 반환합니다TRUE;에러가 발생하면 반환FALSE;결과에 더 이상 행이 없으면 반환NULL에서 사용되었습니다.

PHP 버전

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

온라인 예제

아래 예제는mysqli_stmt_fetch();함수 사용법(과정 지향 스타일), 결과에서 값을 변수에 바인딩하는 예제:

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
   print("创建表.....\n");
   mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')");
   mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')");
   print("데이터 입력.....\n");
   //테이블 내용 검색
   $stmt = mysqli_prepare($con, "SELECT * FROM myplayers");
   //문장을 실행하기
   mysqli_stmt_execute($stmt);
   //결과 값이 변수에 바인딩됨
   mysqli_stmt_bind_result($stmt, $id, $fname, $lname, $pob, $country);
   while (mysqli_stmt_fetch($stmt)) {
      print("Id: ".$id."\n");
      print("fname: ".$fname."\n");
      print("lname: ".$lname."\n");
      print("pob: ".$pob."\n");
      print("country: ".$country."\n");
      print("\n");
   }
   //문장을 종료하기
   mysqli_stmt_close($stmt);
   //연결을 닫기
   mysqli_close($con);
?>

출력 결과

테이블을 생성하기.....
데이터 입력.....
Id: 1
fname: Sikhar
lname: Dhawan
pob: Delhi
country: India
Id: 2
fname: Jonathan
lname: Trott
pob: CapeTown
country: SouthAfrica

온라인 예제

오브젝트 지향 스타일에서 이 함수의 문법은$stmt-> fetch();。아래는 오브젝트 지향 스타일에서 이 함수의 예제입니다. пред prepared statement으로 변수를 결과 집합에 바인딩합니다:

<?php
   //연결 설정
   $con = new mysqli("localhost", "root", "password", "mydb");
   $con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT");
   $con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
   print("创建表.....\n");
   $stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)");
   $stmt -> bind_param("ss", $name1, $name2);
   $name1 = 'Raju';
   $name2 = 'Rahman';
   print("记录已删除.....\n");
   //문장을 실행하기
   $stmt->execute();
   //将变量绑定到结果集
   $stmt->bind_result($name, $age);
   while ($stmt->fetch()) {
      print("Name: ".$name."\n");
      print("Age: ".$age."\n");
   }
   //문장을 종료하기
   $stmt->close();
   //연결을 닫기
   $con->close();
?>

출력 결과

테이블을 생성하기.....
记录已删除.....
Name: Raju
Age: 25
Name: Rahman
Age: 30

온라인 예제

以下示例使用 mysqli_stmt_bind_result() 和 mysqli_stmt_fetch() 函数获取DESCRIBE查询的结果-

<?php
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   mysqli_query($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 \u003D mysqli_prepare($con, \"DESC \u00A0myplayers\");
   //문장을 실행하기
   mysqli_stmt_execute($stmt);
   //결과 값이 변수에 바인딩됨
   mysqli_stmt_bind_result($stmt, \u00A0\u00A0\u00A0\u00A0$field, \u00A0\u00A0\u00A0\u00A0$type, \u00A0\u00A0\u00A0\u00A0$null, \u00A0\u00A0\u00A0\u00A0$key, \u00A0\u00A0\u00A0\u00A0$default, \u00A0\u00A0\u00A0\u00A0$extra);
   while (mysqli_stmt_fetch($stmt)) {
      print("Field: \u00A0\u00A0\u00A0\u00A0".$field."\n");
      print("Type: \u00A0\u00A0\u00A0\u00A0".$type."\n");
      print("Null: \u00A0\u00A0\u00A0\u00A0".$null."\n");
      print("Key: \u00A0\u00A0\u00A0\u00A0".$key."\n");
      print("Default: ".$default."\n");
      print("Extra: ".$extra."\n");
      print("\n");
   }
   //문장을 종료하기
   mysqli_stmt_close($stmt);
   //연결을 닫기
   mysqli_close($con);
?>

출력 결과

테이블을 생성하기.....
Field: ID
Type: int(11)
Null: YES
Key:
기본:
Extra:
Field: First_Name
Type: varchar(255)
Null: YES
Key:
기본:
Extra:
Field: Last_Name
Type: varchar(255)
Null: YES
Key:
기본:
Extra:
Field: Place_Of_Birth
Type: varchar(255)
Null: YES
Key:
기본:
Extra:
Field: Country
Type: varchar(255)
Null: YES
Key:
기본:
Extra:

온라인 예제

다음 예제는 mysqli_stmt_bind_result()와 mysqli_stmt_fetch() 함수를 사용하여 SHOW TABLES 쿼리 결과를 가져와 현재 데이터베이스에 있는 모든 테이블을 반환합니다:

<?php
   $con = mysqli_connect("localhost", "root", "password");
   //데이터베이스를 선택하기
   mysqli_query($con, "CREATE DATABASE NewDatabase");
   mysqli_select_db($con, "NewDatabase");
   //테이블을 생성하기
   mysqli_query($con, "CREATE TABLE test1(Name VARCHAR(255), Age INT)");
   mysqli_query($con, "CREATE TABLE test2(Name VARCHAR(255), Age INT)");
   mysqli_query($con, "CREATE TABLE test3(Name VARCHAR(255), Age INT)");
   print("생성된 테이블.....\n");
   //테이블을 표시하기
   $stmt = mysqli_prepare($con, "SHOW TABLES");
   //문장을 실행하기
   mysqli_stmt_execute($stmt);
   //결과 값이 변수에 바인딩됨
   mysqli_stmt_bind_result($stmt, $table_name);
   print("현재 데이터베이스에 있는 모든 테이블: \n");
   while (mysqli_stmt_fetch($stmt)) {
      print($table_name."\n");
   }
   //문장을 종료하기
   mysqli_stmt_close($stmt);
   //연결을 닫기
   mysqli_close($con);
?>

출력 결과

생성된 테이블.....
현재 데이터베이스에 있는 모든 테이블:
test1
test2
test3

PHP MySQLi 참조 매뉴얼