Função PHP mysqli_stmt_send_long_data ()
Definição e Uso
Se uma das colunas da tabela for do tipo TEXTO ou BLOB, o mysqli_stmt_send_long_data() função é usada para enviar dados para essa coluna em blocos.
Você não pode fechar conexões persistentes usando esta função.
Sintaxe
mysqli_stmt_send_long_data($stmt);
Parâmetros
Sr. Não | Parâmetro e Descrição |
---|---|
1 | stmt(Mandatory) Este é um objeto que representa uma declaração preparada. |
2 | param_nr(Mandatory) Este é um valor inteiro que representa o parâmetro ao qual você precisa associar os dados fornecidos. |
3 | data(Mandatory) Este é um valor de string que representa os dados a serem enviados. |
Valores Retornados
A função PHP mysqli_stmt_send_long_data () retorna um valor booleano que é verdadeiro em caso de sucesso e falso em caso de falha.
Versão PHP
Esta função foi introduzida pela primeira vez no PHP Versão 5 e funciona em todas as versões posteriores.
Exemplo
O exemplo a seguir demonstra o uso da função mysqli_stmt_send_long_data () (no estilo procedural) -
<?php
//Creating a connection
$con = mysqli_connect("localhost", "root", "password", "mydb");
//Creating a table
mysqli_query($con, "CREATE TABLE test(message BLOB)");
print("Table Created \n");
//Inserting data
$stmt = mysqli_prepare($con, "INSERT INTO test values(?)");
//Binding values to the parameter markers
mysqli_stmt_bind_param($stmt, "b", $txt);
$txt = NULL;
$data = "This is sample data";
mysqli_stmt_send_long_data($stmt, 0, $data);
print("Data Inserted");
//Executing the statement
mysqli_stmt_execute($stmt);
//Closing the statement
mysqli_stmt_close($stmt);
//Closing the connection
mysqli_close($con);
?>
Isso produzirá o seguinte resultado -
Table Created
Data Inserted
Após a execução do programa acima, o conteúdo da tabela de teste será o seguinte -
mysql> select * from test;
+---------------------+
| message |
+---------------------+
| This is sample data |
+---------------------+
1 row in set (0.00 sec)
Exemplo
No estilo orientado a objetos, a sintaxe desta função é $ stmt-> send_long_data (); A seguir está o exemplo desta função no estilo orientado a objetos $ minus;
Suponha que temos um arquivo denominado foo.txt com a mensagem Olá, como você é bem-vindo ao Tutorialspoint .
<?php
//Creating a connection
$con = new mysqli("localhost", "root", "password", "mydb");
//Creating a table
$con -> query("CREATE TABLE test(message BLOB)");
print("Table Created \n");
//Inserting values into the table using prepared statement
$stmt = $con -> prepare("INSERT INTO test values(?)");
//Binding values to the parameter markers
$txt = NULL;
$stmt->bind_param("b", $txt);
$fp = fopen("foo.txt", "r");
while (!feof($fp)) {
$stmt->send_long_data( 0, fread($fp, 8192));
}
print("Data Inserted");
fclose($fp);
//Executing the statement
$stmt->execute();
//Closing the statement
$stmt->close();
//Closing the connection
$con->close();
?>
Isso produzirá o seguinte resultado -
Table Created
Data Inserted
Após a execução do programa acima, o conteúdo da tabela de teste será o seguinte -
mysql> select * from test;
+---------------------------------------------+
| message |
+---------------------------------------------+
| Hello how are you welcome to Tutorialspoint |
+---------------------------------------------+
1 row in set (0.00 sec)