1
を選択すると、これは私のクエリの簡易版である:PDO:一時テーブルを作成し、mysqlのストアドプロシージャをコールし、それから
CALL Create_List('company'); SELECT name FROM tmpCompany;
Create_Listは一時テーブルtmpCompanyを作成します。
phpmyadminを使用してデータベースに直接実行すると正しく動作しますが、phpでPDOを使用して呼び出すと、結果は得られません。
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
あなたは、sprocを呼び出すことができたときに一時テーブルを作成してから選択することはちょっと奇妙な、sprocを呼び出すという現行のアプローチとして何をしようとしているのか少し説明できますか? –
カンマ区切りのフィールドを持つ2つのテーブルがあるので、それぞれのアイテムを互いに比較する方法はありません。したがって、Create_Listプロシージャは、コンマ区切りの項目を行にする一時表を作成します。次に、そのテーブルのすべての行から選択する必要があります。 – HyderA