2011-01-18 2 views
1

Это упрощенная версия моего запроса:PDO: Вызов MySQL хранимой процедуры, которая создает временную таблицу и затем выбрать из него

CALL Create_List('company'); SELECT name FROM tmpCompany; 

Create_List создает временную таблицу tmpCompany.

Эти два оператора корректно работают при запуске непосредственно в базу данных с помощью phpmyadmin, но когда я вызываю его с помощью PDO в php, я не получаю результата.

Есть ли способ вызова хранимых процедур из php?

PHP код

$result = $this->db->prepare("CALL Create_List(:table); SELECT name FROM tmpCompany;"); 
$result->bindParam(':table', $this->table); 
$result->execute();  
return $result->fetch(); 

EDIT

Возможно связанные?

http://bugs.php.net/bug.php?id=38001

+0

Вы можете объяснить немного больше о том, что вы пытаетесь сделать в качестве своего текущего подхода к вызову sproc, который создает временную таблицу, а затем выбирать из нее немного странно, когда вы можете просто вызвать sproc и все. –

+0

У меня есть две таблицы с полями, разделенными запятой, поэтому нет возможности сравнивать их элементы друг с другом. Таким образом, процедура Create_List создает временную таблицу, которая разделяет запятую элементы в строки. Затем нам нужно выбрать из всех строк из этой таблицы. – HyderA

ответ

2

Попробуйте разорвать ВЫЗОВ и ВЫБРАТЬ в отдельные заявления.

Смежные вопросы