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

Manuale di base PHP

Manuale avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

Uso e esempio della funzione PHP mysqli_stmt_send_long_data()

PHP MySQLi Manuale di Referenza

La funzione mysqli_stmt_send_long_data() di PHP invia dati in blocco.

Definizione e utilizzo

Se una colonna della tabella è di tipo BLOB del tipo TEXT, allora lamysqli_stmt_send_long_data()La funzione viene utilizzata per inviare dati in blocco alla colonna.

Non è possibile utilizzare questa funzione per chiudereConnessione persistente.

Sintassi

mysqli_stmt_send_long_data($stmt);

Parametro

Numero di sequenzaParametri e descrizione
1

stmt(obbligatorio)

Questo è l'oggetto della dichiarazione preparata.

2

param_nr(obbligatorio)

Questo è un valore intero che rappresenta il parametro al quale associare i dati forniti.

3

data(obbligatorio)

Questo è un valore di stringa che rappresenta i dati da inviare.

Valore di ritorno

La funzione PHP mysqli_stmt_send_long_data() restituisce un valore booleano, true setruenel caso di fallimento, èfalse.

Versione PHP

Questa funzione è stata introdotta originariamente nella versione PHP 5 e può essere utilizzata in tutte le versioni successive.

Esempio online

Di seguito un esempio dimostramysqli_stmt_send_long_data()Utilizzo della funzione (stile procedurale)-

<?php
   //Crea la connessione
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //Creazione della tabella
   mysqli_query($con, "CREATE TABLE test(message BLOB)");
   print("Creazione della tabella \n");
   //Inserimento dei dati
   $stmt = mysqli_prepare($con, "INSERT INTO test values(?)");
   //Associare il valore ai segnaposto dei parametri
   mysqli_stmt_bind_param($stmt, "b", $txt);
   $txt = NULL;
   $data = "This is sample data";
   mysqli_stmt_send_long_data($stmt, 0, $data);
   print("Inserimento dei dati");
   //Esegui la frase
   mysqli_stmt_execute($stmt);
   //Fine della frase
   mysqli_stmt_close($stmt);
   //Chiudi la connessione
   mysqli_close($con);
?>

Risultato dell'output

Creazione della tabella
Inserimento dei dati

Dopo aver eseguito il programma sopra,TestIl contenuto della tabella è il seguente:

mysql> select * from test;
+---------------------+
| message             |
+---------------------+
| Questo è un esempio di dati |
+---------------------+
1 riga nel set (0.00 sec)

Esempio online

Nel estilo orientato agli oggetti, la sintassi di questa funzione è$stmt-> send_long_data();。Ecco un esempio di questa funzione nel estilo orientato agli oggetti;

Supponiamo di avere un file chiamatofoo.txtdel file,Il contenuto del file è "Hello how are you welcome to oldtoolbag.com".

<?php
   //Crea la connessione
   $con = new mysqli("localhost", "root", "password", "mydb");
   //Creazione della tabella
   $con->query("CREATE TABLE test(message BLOB)");
   print("Creazione della tabella \n");
   //Usa la frase preparata per inserire i valori nella tabella
   $stmt = $con->prepare("INSERT INTO test values(?)");
   //Associare il valore ai segnaposto dei parametri
   $txt = NULL;
   $stmt->bind_param("b", $txt);
   $fp = fopen("foo.txt", "r");
   while (!feof($fp)) {
      $stmt->send_long_data(0, fread($fp, 8192));
   }
   print("Inserimento dei dati");
   fclose($fp);
   //Esegui la frase
   $stmt->execute();
   //Fine della frase
   $stmt->close();
   //Chiudi la connessione
   $con->close();
?>

Risultato dell'output

Creazione della tabella
Inserimento dei dati

Dopo aver eseguito il programma sopra,TestIl contenuto della tabella è il seguente:

mysql> select * from test;
+---------------------------------------------+
| messaggio                                   |
+---------------------------------------------+
| Hello how are you welcome to oldtoolbag.com |
+---------------------------------------------+
1 riga nel set (0.00 sec)

PHP MySQLi Manuale di Referenza