谷歌镜像 伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

PHP - Manual: mysqli::set_local_infile_handler

来源:网络转载 浏览:38764次 时间:2023-11-24
mysqli::$sqlstate » « mysqli::set_local_infile_default
  • PHP 手册
  • 函数参考
  • 数据库扩展
  • 针对各数据库系统对应的扩展
  • MySQL
  • Mysqli
  • MySQLi

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

参见

  • mysqli_set_local_infile_default() - 取消用户指定的回调函数
add a note

User Contributed Notes

There are no user contributed notes for this page.

官方地址:https://www.php.net/manual/en/mysqli.set-local-infile-handler.php

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net