背景:我在 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/