English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP MySQLi Manuale di Referenza
La funzione mysqli_stmt_send_long_data() di PHP invia dati in blocco.
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.
mysqli_stmt_send_long_data($stmt);
Numero di sequenza | Parametri 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. |
La funzione PHP mysqli_stmt_send_long_data() restituisce un valore booleano, true setruenel caso di fallimento, èfalse.
Questa funzione è stata introdotta originariamente nella versione PHP 5 e può essere utilizzata in tutte le versioni successive.
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)
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)