此文件(home.php)正常运行,但是当我通过Windows调度程序中的批处理文件运行此文件时。它没有运行。
<?php
//error_reporting(0);
$con = mysqli_connect("localhost","root","","test");
$handle = @fopen("organisation.csv", "r");
while (($data = fgetcsv($handle, 20000, ",")) !== FALSE)
{
$tt="INSERT INTO upload (organization, entity, credit_limit, days) VALUES(
'".mysqli_real_escape_string($con,$data[0])."',
'".mysqli_real_escape_string($con,$data[1])."',
'".mysqli_real_escape_string($con,$data[2])."',
'".mysqli_real_escape_string($con,$data[3])."'
)";
mysqli_query($con,$tt) or (mysqli_error($con));
}
echo "done";
?>
以下是批处理文件代码:
c:\xampp\php\php.exe -f "c:\xampp\htdocs\home.php"
答案 0 :(得分:0)
我不确定Windows调度程序是如何工作的,但是如果它接近ubuntu中的cronjobs,你应该使用absolut路径来处理文件。该脚本可能没有在它自己的目录中执行。
所以试试这个:
$handle = @fopen("c:\xampp\htdocs\organisation.csv", "r");
您还可以添加:
echo "$tt <br>";
执行SQL-statment以查看该语句的真实含义。如果您获得了一个声明,但没有任何内容添加到您的数据库中,请复制该声明并手动尝试,以查看可能出现的错误。