English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP MySQLi Manuale di Referenza
La funzione mysqli_stmt_fetch() estrarrà i risultati della frase preparata nei variabili associati.
Puoi creare una frase preparata con mysqli_prepare() funzione, che ha il marchio di parametro ("?") (se ci sono valori). Dopo la frase preparata, è necessario utilizzaremysqli_stmt_bind_param()La funzione associa i valori ai parametri della frase creata.
In modo analogo, può essere utilizzata la funzione mysqli_stmt_bind_result() per associare le colonne del set di risultati della frase all'variabile necessaria.
Se è stato chiamatomysqli_stmt_fetch()La funzione, dopo aver associato le colonne, estrarrà le colonne dei risultati nel variabile specificato.
mysqli_stmt_fetch($stmt);
Numero | Parametri e descrizioni |
---|---|
1 | stmt(obbligatorio) Questo è l'oggetto che rappresenta la frase preparata. |
Se si ottengono dati, la funzione PHP mysqli_stmt_fetch() restituiràTRUE;; Se si verifica un errore, viene restituitoFALSE; Se non ci sono più righe nei risultati, viene restituitoNULL.
Questa funzione è stata introdotta per la prima volta nella versione PHP 5 e può essere utilizzata in tutte le versioni successive.
Esempi seguenti dimostrano:mysqli_stmt_fetch()La funzione dell'uso (stile procedurale), utilizza la frase preparata per associare i valori delle risultati ai variabili:
<?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("Creazione della tabella.....\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("Inserire le registrazioni.....\n"); //Ricerca del contenuto della tabella $stmt = mysqli_prepare($con, "SELECT * FROM myplayers"); //Esegui la dichiarazione mysqli_stmt_execute($stmt); //Leggi i valori del risultato e li assegna ai variabili 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"); } //Fine della dichiarazione mysqli_stmt_close($stmt); //Chiudi la connessione mysqli_close($con); ?>
Risultato di output
Creazione della tabella..... Inserire le registrazioni..... Id: 1 fname: Sikhar lname: Dhawan pob: Delhi country: India Id: 2 fname: Jonathan lname: Trott pob: CapeTown country: SouthAfrica
La sintassi di questa funzione in stile orientato agli oggetti è:$stmt->fetch();。Ecco un esempio di questo metodo in stile orientato agli oggetti, che utilizza la preparazione delle istruzioni per associare variabili al risultato:
<?php //Establecendo la connessione $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("Creazione della tabella.....\n"); $stmt = $con->prepare("SELECT * FROM Test WHERE Name in(?, ?)"); $stmt->bind_param("ss", $name1, $name2); $name1 = 'Raju'; $name2 = 'Rahman'; print("La registrazione è stata eliminata.....\n"); //Esegui la dichiarazione $stmt->execute(); //Associare le variabili al set di risultati $stmt->bind_result($name, $age); while ($stmt->fetch()) { print("Nome: ".$name."\n"); print("Età: ".$age."\n"); } //Fine della dichiarazione $stmt->close(); //Chiudi la connessione $con->close(); ?>
Risultato di output
Creazione della tabella..... Record eliminato..... Nome: Raju Età: 25 Nome: Rahman Età: 30
Esempio di utilizzo delle funzioni mysqli_stmt_bind_result() e mysqli_stmt_fetch() per ottenere i risultati della query 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("Creazione della tabella.....\n"); //Descrizione della tabella $stmt = mysqli_prepare($con, "DESC myplayers"); //Esegui la dichiarazione mysqli_stmt_execute($stmt); //Leggi i valori del risultato e li assegna ai variabili mysqli_stmt_bind_result($stmt, $field, $type, $null, $key, $default, $extra); while (mysqli_stmt_fetch($stmt)) { print("Campo: ".$field."\n"); print("Tipo: ".$type."\n"); print("Null: ".$null."\n"); print("Chiave: ".$key."\n"); print("Predefinito: ".$default."\n"); print("Extra: ".$extra."\n"); print("\n"); } //Fine della dichiarazione mysqli_stmt_close($stmt); //Chiudi la connessione mysqli_close($con); ?>
Risultato di output
Creazione della tabella..... Campo: ID Tipo: int(11) Null: YES Chiave: Predefinito: Extra: Campo: Nome Tipo: varchar(255) Null: YES Chiave: Predefinito: Extra: Campo: Cognome Tipo: varchar(255) Null: YES Chiave: Predefinito: Extra: Campo: Luogo_di_nascita Tipo: varchar(255) Null: YES Chiave: Predefinito: Extra: Campo: Paese Tipo: varchar(255) Null: YES Chiave: Predefinito: Extra:
Il seguente esempio utilizza le funzioni mysqli_stmt_bind_result() e mysqli_stmt_fetch() per ottenere i risultati della query SHOW TABLES, restituendo tutti i tavoli presenti nel database corrente:
<?php $con = mysqli_connect("localhost", "root", "password"); //Scegli il database mysqli_query($con, "CREATE DATABASE NewDatabase"); mysqli_select_db($con, "NewDatabase"); //Crea il tavolo 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("Tavoli creati.....\n"); //Mostra i tavoli $stmt = mysqli_prepare($con, "SHOW TABLES"); //Esegui la dichiarazione mysqli_stmt_execute($stmt); //Leggi i valori del risultato e li assegna ai variabili mysqli_stmt_bind_result($stmt, $table_name); print("Tutti i tavoli presenti nel database corrente: \n"); while (mysqli_stmt_fetch($stmt)) { print($table_name."\n"); } //Fine della dichiarazione mysqli_stmt_close($stmt); //Chiudi la connessione mysqli_close($con); ?>
Risultato di output
Tavoli creati..... Tutti i tavoli presenti nel database corrente: test1 test2 test3