кодесурса
«PHP

PHP mysqli: функция set_local_infile_handler ()

script1adsense2code
script1adsense3code

Функция mysqli_set_local_infile_handler / mysqli :: set_local_infile_handler

Функция mysqli_set_local_infile_handler / mysqli :: set_local_infile_handler - устанавливает функцию обратного вызова для команды LOAD DATA LOCAL INFILE.

Синтаксис:

Объектно-ориентированный стиль

 bool mysqli :: set_local_infile_handler (ссылка на mysqli $, вызываемая $ read_func)

Процедурный стиль

 bool mysqli_set_local_infile_handler (ссылка на mysqli $, вызываемый $ read_func)

Параметр:

название Описание Обязательный / Дополнительно
ссылка на сайт Идентификатор ссылки, возвращаемый mysqli_connect () или mysqli_init () Требуется только для процедурного стиля и необязательно для объектно-ориентированного стиля
read_func Функция обратного вызова или метод объекта, принимающий следующие параметры: необходимые
поток Поток PHP, связанный с командами SQL INFILE
и буфер Строковый буфер для хранения переписанного ввода в.
buflen Максимальное количество символов для хранения в буфере
& ErrorMsg Если возникает ошибка, вы можете сохранить сообщение об ошибке здесь

Использование: Процедурный стиль

 mysqli_set_local_infile_handler (соединение); 

Параметр:

название Описание Обязательный / Дополнительно
соединение Определяет соединение MySQL для использования необходимые

Возвращаемое значение:

Возвращает TRUE в случае успеха или FALSE в случае неудачи.

Версия: PHP 5, PHP 7

Пример объектно-ориентированного стиля:

<?php
$db = mysqli_init();
  $db->real_connect("localhost","user1","datasoft123","hr");
  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";
  }
?>

Пример процедурного стиля

<?php
$link = mysqli_connect('localhost', 'my_user', 'my_password', 'test');
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
printf("Initial character set: %s\n", mysqli_character_set_name($link));
/* change character set to utf8 */
if (!mysqli_set_charset($link, "utf8")) {
    printf("Error loading character set utf8: %s\n", mysqli_error($link));
    exit();
} else {
    printf("Current character set: %s\n", mysqli_character_set_name($link));
}
mysqli_close($link);
?>

Выход:

 Входные данные:
23, Foo
42, бар
Выход:
23, FOO
42, BAR

Пример:

<?php
 
  $con = mysqli_init();
  $con->real_connect("localhost","user1","datasoft123","hr");
  function Calling($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";
  $con->set_local_infile_handler("Calling");
  $con->query("LOAD DATA LOCAL INFILE 'MyInput.txt' INTO TABLE table1");
  $con->set_local_infile_default();
  $res = $con->query("SELECT * FROM table1");
  echo "\nResult:\n";
  while ($row = $res->fetch_assoc()) {
    echo join(",", $row)."\n";
  }
?>

Выход:

 Входные данные:

Смотрите также

Справочник по функциям PHP

Предыдущий: set_local_infile_default
Далее: sqlstate

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code