PHP mysqli: функция set_local_infile_handler ()
Функция 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";
}
?>
Выход:
Входные данные:
Смотрите также
Предыдущий: set_local_infile_default
Далее: sqlstate
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code