1
私のデータベースにアクセスするためにPDOを使用していますが、そこには2つのストアドプロシージャがあります。php PDOで複数のストアドプロシージャを呼び出す
$q = $db->prepare("CALL sp1(); CALL sp2()");
$q->execute;
- 私は準備1で両方の手順を呼びたいので、私のようなものを試してみました
$q = $db->prepare("CALL sp1();");
$q->execute;
//parsing results here...
$q->closeCursor();
$q2 = $db->prepare("CALL sp2();");
$q2->execute;
///parsing results here...
: は今、私は、正常に動作している、手順を呼び出すために、このような何かを実行します
しかし、これは1つのストアドプロシージャだけを呼び出して実行し、両方を実行することはありません。 複数の手順を一度に使用して実行する方法はありますか?
基本となるmysqlドライバでは、1回のクエリ呼び出しで複数のクエリを発行することはできません。これは、SQLインジェクションのいくつかの形式を防ぐための安全対策です。これはPDOを使用していても適用されます。 –
本当に、一緒に実行する必要がある場合は、トランザクション自体の中で両方を呼び出す別のプロシージャを作成するのが最善の方法です。 –