php - 如何在php中使用sql指定导出路径?

标签 php mysql

背景:我在 mysql 数据库中使用 phpMyAdmin (MySQL Workbench)。我编写了一些 PHP 代码来导入数据库中的数据,并使用 Windows 的任务调度程序执行它。 <= 这很好用!

我的主题:现在我想将一些数据导出到Windows文件夹中的文件中。首先,我在 phpMyAdmin 中编写 SQL 代码来查看一些调试信息。 独立于 php,我的 sql 查询工作正常。

如果我将代码放入 php 程序中,我的导出将无法正常工作。 我认为问题的发生是因为我的路径规范。 其他程序部分,特别是更新部分,做它们应该做的事情。

这是我的代码:

<?php

include "../config.php";
$conn = new mysqli('192.168.10.120', 'alb5', 'alb5','testdatenbank');
if ( $conn->connect_error ) {
    die( "Connection failed: " . $conn->connect_error );
} //$conn->connect_error


$sql = "set @sql = concat(\"SELECT `LS_ID_Nr`, `Stk_pro_Krt_DL` * `Krt_DL` + `RB_Stk_pro_Krt_DL` * `RB_Krt_DL`, `Umstellzeit`, `Produktionszeit`, `Teilmeldung`, `Fertigmeldung` 
INTO OUTFILE 'C:/Temp/Export/Test - \", DATE_FORMAT(NOW(), '%Y%m%d%H%i%s'),\" - Test.txt' 
fields terminated by ';' 
lines terminated by '\r\n' 
From praemie where Proof_P = 0\");";

$sql = "prepare s1 from @sql;";
$sql = "execute s1;";
$sql = "DROP PREPARE s1;";
$sql = "UPDATE praemie SET Proof_P = 1 WHERE Proof_P = 0;";

    $result           = $conn->query( $sql );
echo("Error description: " . mysqli_error($conn));
?>

有人知道如何在 php 中使用 sql 指定导出路径吗? 提前致谢。

最佳答案

这是一种令人毛骨悚然的做法。

我建议将数据提取到 php 中并通过 file_put_contents 存储。

简单示例:

<?php
include "../config.php";
$conn = new mysqli('192.168.10.120', 'alb5', 'alb5','testdatenbank');
if ( $conn->connect_error ) {
    die( "Connection failed: " . $conn->connect_error );
} //$conn->connect_error

$query = 'SELECT `LS_ID_Nr` AS `LS_ID_Nr`, `Stk_pro_Krt_DL` * `Krt_DL` + `RB_Stk_pro_Krt_DL` * `RB_Krt_DL` AS ``, `Umstellzeit`, `Produktionszeit`, `Teilmeldung`, `Fertigmeldung`FROM praemie WHERE Proof_P = 0';

$result = $conn->query($sql);

file_put_contents('C:/Temp/Export/Test/test.txt', json_encode($result->fetch_all()));

关于php - 如何在php中使用sql指定导出路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51835006/

相关文章:

php - 如何在 Doctrine 中进行 LEFT JOIN ON OR

php - 在多行中将数据搜索到一个表中

php - 一个查询中的多个 SQL 插入

mysql - 左连接但不能将左表中的每个类别保留在右表中

php - 使用 Ajax 提交表单

php - 在 Laravel 中获取 "Integrity constraint violation: 1452"

php - 在 null/while 更新查询上调用成员函数 bind_param()

php - PHP 中确定上传文件大小的这些方法有什么区别?

javascript - 如何只加载一个div而不加载所有页面文件

mysql - 如何将此 "SELECT IN"更改为 "EXISTS"MySQL 查询?