查询在DB上直接执行时运行正常,但是在使用PHP执行时它会失败。
SELECT count(A.age),LEFT(C.name, 10) FROM game A INNER JOIN `dixit` C ON (A.roll=C.roll) WHERE LEFT(C.added, 10)>='09-05-2013' group by LEFT(C.added, 10) INTO OUTFILE '/tmp/total.txt';
在PHP中:
$query_t = "
SELECT count(A.age),LEFT(C.name, 10)
FROM game A
INNER JOIN `dixit` C ON (A.roll=C.roll)
WHERE LEFT(C.added, 10)>='09-05-2013'
GROUP BY LEFT(C.added, 10)
INTO OUTFILE '/tmp/total.txt'
";
mysql_query($query_t) or die ("query failed");
答案 0 :(得分:1)
问题是你不能在PHP中使用INTO OUTFILE
语句。 MySQL docs说:
SELECT ... INTO OUTFILE语句主要是为了让您 非常快速地将表转储到服务器计算机上的文本文件中。如果你 想要在服务器之外的其他主机上创建生成的文件 主机,你通常不能使用SELECT ... INTO OUTFILE因为有 无法写入相对于服务器主机文件的文件路径 系统
我认为,他们的建议可以帮到你。
但是,如果MySQL客户端软件安装在遥控器上 机器,您可以改为使用客户端命令,如mysql -e“SELECT ...“> file_name在客户端主机上生成文件。
如果没有,也许会有其他方式,但我确定你需要深入研究。