PHP
Referenzliste
mysqli_set_local_infile_handler
MySQLi Funktionen
Befehl:
bool mysqli_set_local_infile_handler ( mysqli $link , callable $read_func )
bool mysqli::set_local_infile_handler ( mysqli $link , callable $read_func )
bool mysqli::set_local_infile_handler ( mysqli $link , callable $read_func )
Parameter-Liste:
Beschreibung | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Nur bei prozeduralem Aufruf: Ein von mysqli_connect() oder mysqli_init() zurückgegebenes Verbindungsobjekt. | |||||||||||
Eine Callback-Funktion oder Objektmethode unter die folgenden Parameter:
buffer gespeichert oder einen negativen Wert zurück, wenn ein Fehler aufgetreten ist. |
Rückgabewerte:
Gibt bei Erfolg
TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben. Beschreibung:
Stellt Callback-Funktion für LOAD DATA LOCAL INFILE-Befehl
Die Rückrufe Aufgabe ist es, aus der Eingabe in der LOAD DATA LOCAL INFILE angegebene Datei zu lesen und sie in das Format LOAD DATA INFILE verstanden neu formatieren.
Die zurückgegebenen Daten braucht, um die in den LOAD DATA angegebenen Format
Die Rückrufe Aufgabe ist es, aus der Eingabe in der LOAD DATA LOCAL INFILE angegebene Datei zu lesen und sie in das Format LOAD DATA INFILE verstanden neu formatieren.
Die zurückgegebenen Daten braucht, um die in den LOAD DATA angegebenen Format
Aktiv in Version:
(PHP 5, PHP 7)
Siehe auch:
führt zum Löschen benutzerdefinierten Handler für Last lokalen infile Befehl
mysqli_set_local_infile_handler() - Beispiel: Objektorientierter Stil
(mysqli::set_local_infile_handler)
(mysqli::set_local_infile_handler)
Eingabe:
<?php $db = mysqli_init(); $db->real_connect("localhost","root","","test"); function callme($stream, &$buffer, $buflen, &$errmsg) { $buffer = fgets($stream); echo $buffer; // convert to upper case and replace "," delimiter with [TAB] $buffer = strtoupper(str_replace(",", "\t", $buffer)); return strlen($buffer); } echo "Input:\n"; $db->set_local_infile_handler("callme"); $db->query("LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1"); $db->set_local_infile_default(); $res = $db->query("SELECT * FROM t1"); echo "\nResult:\n"; while ($row = $res->fetch_assoc()) { echo join(",", $row)."\n"; } ?>
Ausgabe:
Input:
23,foo
42,bar
Output:
23,FOO
42,BAR
23,foo
42,bar
Output:
23,FOO
42,BAR
mysqli_set_local_infile_handler() - Beispiel 2: Prozeduraler Stil
(mysqli::set_local_infile_handler)
(mysqli::set_local_infile_handler)
Eingabe:
<?php $db = mysqli_init(); mysqli_real_connect($db, "localhost","root","","test"); function callme($stream, &$buffer, $buflen, &$errmsg) { $buffer = fgets($stream); echo $buffer; // convert to upper case and replace "," delimiter with [TAB] $buffer = strtoupper(str_replace(",", "\t", $buffer)); return strlen($buffer); } echo "Input:\n"; mysqli_set_local_infile_handler($db, "callme"); mysqli_query($db, "LOAD DATA LOCAL INFILE 'input.txt' INTO TABLE t1"); mysqli_set_local_infile_default($db); $res = mysqli_query($db, "SELECT * FROM t1"); echo "\nResult:\n"; while ($row = mysqli_fetch_assoc($res)) { echo join(",", $row)."\n"; } ?>
Ausgabe:
Input:
23,foo
42,bar
Output:
23,FOO
42,BAR
23,foo
42,bar
Output:
23,FOO
42,BAR
MySQLi Funktionen