не может получить хранимую процедуру MySQL в php - PullRequest
0 голосов
/ 04 декабря 2011

Следующий SQL работает на 100%, если я запускаю его в phpMyAdmin, однако, если я пытаюсь использовать его в выражении php prepare в файле php, используя:

$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;

Он основан на посте Фрэнка Флинна от 6 октября 2006 г. 11:05 pm, где он сказал: «Если вы хотите использовать OUTFILE или DUMPFILE с переменной для имени файла, вы не можете просто поместить его в place - MySQL не разрешит имя. "

Заранее спасибо.

1 Ответ

0 голосов
/ 04 декабря 2011

Проблема в том, что mysqli не поддерживает многостраничное выполнение в одном вызове.
Взгляните на http://php.net/manual/en/mysqli.multi-query.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...