无法将MySQL存储过程导入php

时间:2011-12-04 08:07:43

标签: php mysql prepared-statement

如果我在phpMyAdmin中运行它,以下SQL 100%工作,但是如果我尝试在php文件的php prepare语句中使用它,使用:

$stmt = $mysqli->prepare("...");
$stmt->execute();
$stmt->close();

我收到错误。我需要知道如何将这个sql包装到php中,因为我必须使用.php文件

SELECT @myCommand := concat("SELECT UNIX_TIMESTAMP( TIMESTAMP( CURDATE( ) ,   HalfHourTime ) ), 0, 0, 0, 0 
into OUTFILE 'C:/wamp/www/myApp/services/csv/filename-", DATE_FORMAT(now(),'%Y%m%d-%H%i%s'), '.csv' "' 
FIELDS TERMINATED BY ','  
LINES TERMINATED BY '\n'
FROM timeintervals_halfhours
");
PREPARE stmt FROM @myCommand;
EXECUTE stmt;

它基于on the post by Frank Flynn on October 6 2006 11:05pm,他说:“如果您希望将OUTFILE或DUMPFILE与变量用于文件名,则不能简单地将其放置到位--MySQL将无法解析名称。”

提前致谢。

1 个答案:

答案 0 :(得分:0)

问题是mysqli不支持单次调用中的多语句执行 看看http://php.net/manual/en/mysqli.multi-query.php