English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_stmt_bind_result() 함수는 변수를 예제 문장에 바인딩하여 결과를 저장합니다
mysqli_stmt_bind_result()함수는 결과 집합의 열을 변수에 바인딩하는 데 사용됩니다. 바인딩된 변수 후에, 호출해야 합니다 mysqli_stmt_fetch() 함수는 지정된 변수의 열 값을 가져오기 위해 사용됩니다.
mysqli_stmt_bind_result($stmt, $var1, $var2...);
순번 | 파라미터 및 설명 |
---|---|
1 | stmt(必需) 이는 준비된 문장 객체를 나타냅니다. |
2 | var1(必需) 이는 열에 바인딩할 변수를 나타냅니다. |
PHP mysqli_stmt_bind_result() 함수는 성공 시 boolean 값을 반환합니다.true이 실패 시false.
이 함수는 초기에는 PHP 버전5에서 도입되었으며 모든 더 높은 버전에서 사용할 수 있습니다.
다음 예제에서는mysqli_stmt_bind_result()함수의 사용법(과정 방식), 결과를 변수에 바인딩:
<?php $con \u003D mysqli_connect("localhost", \"root\", \"password\", \"mydb\")); mysqli_query($con, \"CREATE \u00A0TABLE \u00A0myplayers(ID \u00A0INT, \u00A0First_Name \u00A0VARCHAR(255), \u6700\u540E\u540D \u00A0VARCHAR(255), \u751F\u6237\u5730\u70B9 \u00A0VARCHAR(255), \u5907\u56FD \u00A0VARCHAR(255))\ print("\u521B\u5EFA\u8868\u2026\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')"); mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')"); 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 Id: 3 fname: Kumara lname: Sangakkara pob: Matale country: Srilanka
在面向对象风格中,此函数的语法为$stmt-> bind_result();。以下是面向对象风格中此函数的示例,将变量绑定到结果集:
<?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("\u521B\u5EFA\u8868\u2026\n"); $stmt = $con -> prepare("SELECT * FROM Test WHERE Name in(?, ?); $stmt -> \u00A0bind_param("ss", \u00A0$name1, \u00A0$name2); $name1 = \"Raju\"; $name2 = \"Rahman\"; print("Records \u00A0Deleted.....\n"); //문장 실행 $stmt->execute(); //将变量绑定到结果集 $stmt->bind_result($name, \u00A0$age); while \($stmt->fetch()) \{ print("Name: \u00A0\u00A0\u00A0".$name."\n"); print("Age: \u00A0\u00A0\u00A0".$age."\n"); } //문장 종료 $stmt->close(); //연결 닫기 $con->close(); ?>
출력 결과
테이블 생성..... Records \u00A0Deleted..... Name: \u00A0Raju Age: 25 Name: \u00A0Rahman Age: 30
以下示例使用 mysqli_stmt_bind_result() 和 mysqli_stmt_fetch() 函数获取DESCRIBE查询的结果,并将结果中的值绑定到变量:
<?php $con \u003D mysqli_connect("localhost", \"root\", \"password\", \"mydb\")); mysqli_query($con, \"CREATE \u00A0TABLE \u00A0myplayers(ID \u00A0INT, \u00A0First_Name \u00A0VARCHAR(255), \u6700\u540E\u540D \u00A0VARCHAR(255), \u751F\u6237\u5730\u70B9 \u00A0VARCHAR(255), \u5907\u56FD \u00A0VARCHAR(255))\ print("\u521B\u5EFA\u8868\u2026\n"); //Description \u00A0of \u00A0the \u00A0table $stmt \u003D mysqli_prepare($con, \"DESC \u00A0myplayers\"); //문장 실행 mysqli_stmt_execute($stmt); //결과 값이 변수에 바인딩됩니다 mysqli_stmt_bind_result($stmt, \u00A0\u00A0\u00A0$field, \u00A0\u00A0\u00A0$type, \u00A0\u00A0\u00A0$null, \u00A0\u00A0\u00A0$key, \u00A0\u00A0\u00A0$default, \u00A0\u00A0\u00A0$extra); while (mysqli_stmt_fetch($stmt)) { print("Field: \u00A0\u00A0\u00A0".$field."\n"); print("Type: \u00A0\u00A0\u00A0".$type."\n"); print("Null: \u00A0\u00A0\u00A0".$null."\n"); print("Key: \u00A0\u00A0\u00A0".$key."\n"); print("Default: \u00A0\u00A0\u00A0".$default."\n"); print("Extra: \u00A0\u00A0\u00A0".$extra."\n"); print("\n"); } //문장 종료 mysqli_stmt_close($stmt); //연결 닫기 mysqli_close($con); ?>
출력 결과
테이블 생성..... 필드: ID 형식: int(11) Null: YES 키: 기본 설정: 추가 정보: 필드: First_Name 형식: varchar(255) Null: YES 키: 기본 설정: 추가 정보: 필드: Last_Name 형식: varchar(255) Null: YES 키: 기본 설정: 추가 정보: 필드: Place_Of_Birth 형식: varchar(255) Null: YES 키: 기본 설정: 추가 정보: 필드: Country 형식: varchar(255) Null: YES 키: 기본 설정: 추가 정보:
아래 예제는 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("Tables Created.....\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); ?>
출력 결과
Tables Created..... 현재 데이터베이스에 있는 모든 테이블은 다음과 같습니다: test1 test2 test3