PHP代码未通过批处理文件运行

时间:2016-07-07 09:06:24

标签: php mysql sql file batch-file

此文件(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"

1 个答案:

答案 0 :(得分:0)

我不确定Windows调度程序是如何工作的,但是如果它接近ubuntu中的cronjobs,你应该使用absolut路径来处理文件。该脚本可能没有在它自己的目录中执行。

所以试试这个:

$handle = @fopen("c:\xampp\htdocs\organisation.csv", "r");

您还可以添加:

echo "$tt <br>";

执行SQL-statment以查看该语句的真实含义。如果您获得了一个声明,但没有任何内容添加到您的数据库中,请复制该声明并手动尝试,以查看可能出现的错误。

相关问题