mysqli::set_local_infile_handler

mysqli_set_local_infile_handler

(PHP 5, PHP 7)

mysqli::set_local_infile_handler -- mysqli_set_local_infile_handler���� LOAD DATA LOCAL INFILE ����Ļص�����

˵��

���������

mysqli::set_local_infile_handler ( mysqli $link , callable $read_func ) : bool

���̻����

mysqli_set_local_infile_handler ( mysqli $link , callable $read_func ) : bool

���� LOAD DATA LOCAL INFILE ����Ļص�����

�ص������������Ƕ�ȡ LOAD DATA LOCAL INFILE ����ָ�����ļ��� ���ҽ������¸�ʽ���� ���õĸ�ʽ������ LOAD DATA INFILE �������ʶ��ĸ�ʽ��

���ص�������Ҫ�� LOAD DATA ����ָ���ĸ�ʽƥ�䡣

����

link

���Թ��̻���ʽ����mysqli_connect() �� mysqli_init() ���ص����ӱ�ʶ��

read_func

һ���ص����������߶���ķ���������Ҫ�������²�����

stream

�� SQL �����е� INFILE ������ PHP ��

&buffer

������������������д֮�����ݵ��ַ���������

buflen

�������д洢�������ַ�����

&errormsg

����������󣬿�������������洢һЩ������Ϣ

�������ɹ�����ص�������Ҫ���� buffer �д洢���ַ������� �������ʧ�ܣ� ����һ��������

����ֵ

�ɹ�ʱ���� TRUE�� ������ʧ��ʱ���� FALSE��

����

Example #1 mysqli::set_local_infile_handler() ����

���������

<?php
  $db 
mysqli_init();
  
$db->real_connect("localhost","root","","test");

  function 
callme($stream, &$buffer$buflen, &$errmsg)
  {
    
$buffer fgets($stream);

    echo 
$buffer;

    
// ���ַ����滻�ɴ�д�����ҽ� "," �ָ����滻�� [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";
  }
?>

���̻����

<?php
  $db 
mysqli_init();
  
mysqli_real_connect($db"localhost","root","","test");

  function 
callme($stream, &$buffer$buflen, &$errmsg)
  {
    
$buffer fgets($stream);

    echo 
$buffer;

    
// ���ַ����滻�ɴ�д�����ҽ� "," �ָ����滻�� [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";
  }
?>

�������̻������

Input:
23,foo
42,bar

Output:
23,FOO
42,BAR

�μ�