Query: mysqli_set_local_infile_handler
OS: php
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
MYSQLI_SET_LOCAL_INFILE_HANDLER(3) 1 MYSQLI_SET_LOCAL_INFILE_HANDLER(3) mysqli::set_local_infile_handler - Set callback function for LOAD DATA LOCAL INFILE command Object oriented styleSYNOPSISbool mysqli::set_local_infile_handler (mysqli $link, callable $read_func)DESCRIPTIONProcedural style bool mysqli_set_local_infile_handler (mysqli $link, callable $read_func) Set callback function for LOAD DATA LOCAL INFILE command The callbacks task is to read input from the file specified in the LOAD DATA LOCAL INFILE and to reformat it into the format understood by LOAD DATA INFILE. The returned data needs to match the format specified in the LOAD DATAPARAMETERSo $ link -Procedural style only: A link identifier returned by mysqli_connect(3) or mysqli_init(3) o $read_func - A callback function or object method taking the following parameters: o $stream -A PHP stream associated with the SQL commands INFILE o $&buffer -A string buffer to store the rewritten input into o $buflen -The maximum number of characters to be stored in the buffer o $&errormsg -If an error occurs you can store an error message in here The callback function should return the number of characters stored in the $buffer or a negative value if an error occurred.RETURN VALUESReturns TRUE on success or FALSE on failure.EXAMPLESExample #1 mysqli::set_local_infile_handler example Object oriented style <?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(",", " ", $buffer)); return strlen($buffer); } echo "Input: "; $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 " Result: "; while ($row = $res->fetch_assoc()) { echo join(",", $row)." "; } ?> Procedural style <?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(",", " ", $buffer)); return strlen($buffer); } echo "Input: "; 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 " Result: "; while ($row = mysqli_fetch_assoc($res)) { echo join(",", $row)." "; } ?> The above examples will output: Input: 23,foo 42,bar Output: 23,FOO 42,BARSEE ALSOmysqli_set_local_infile_default(3). PHP Documentation Group MYSQLI_SET_LOCAL_INFILE_HANDLER(3)
Related Man Pages |
---|
mysqli_rollback(3) - php |
mysqli_field_count(3) - php |
mysqli_get_charset(3) - php |
mysqli_ping(3) - php |
mysqli_warning_count(3) - php |
Similar Topics in the Unix Linux Community |
---|
Editor dependent error? |
Script help for INFILE... |
SED Replace String Help |
egrep in an array |
sh and MySQL LOAD DATA |