Rumah  >  Soal Jawab  >  teks badan

Panduan penggunaan PDO: Menggunakan berbilang pertanyaan untuk mengendalikan Pelayan Sql

<p>Saya mahu melaksanakan beberapa pertanyaan yang tidak mengembalikan set hasil, dan kemudian melaksanakan <em>pertanyaan sebenar</em> Berikut ialah contoh yang tidak berfungsi: </p> <pre class="brush:php;toolbar:false;"><?php cuba { $db = PDO baharu('dblib:host=myhost;dbname=master','user','password'); $query = "deklarasikan @entier int = 1;"; $db->exec($query); $query = "pilih @entier;"; $stmt = $db->query($query); $rows = $stmt->fetchAll(); print_r($baris); } tangkap (PDOException $e) { cetak ($e->getMessage()); } tangkap (Pengecualian $e) { cetak ($e->getMessage()); } ?></pra> <p>Kod ini juga tidak berfungsi: </p> <pre class="brush:php;toolbar:false;">cuba { $db = PDO baharu('dblib:host=myhost;dbname=master','user','password'); $query = "deklarasikan @entier int = 1; pilih @entier;"; $stmt = $db->query($query); $rows = $stmt->fetchAll(); print_r($baris); } tangkap (PDOException $e) { cetak ($e->getMessage()); } tangkap (Pengecualian $e) { cetak ($e->getMessage()); } ?></pra> <p>Tetapi kod ini berfungsi: </p> <pre class="brush:php;toolbar:false;"><?php cuba { $db = PDO baharu('dblib:host=myhost;dbname=master','user','password'); $query = "pilih 1;"; $stmt = $db->query($query); $rows = $stmt->fetchAll(); print_r($baris); } tangkap (PDOException $e) { cetak ($e->getMessage()); } tangkap (Pengecualian $e) { cetak ($e->getMessage()); } ?></pra> <p>Terima kasih atas bantuan anda</p>
P粉178132828P粉178132828408 hari yang lalu458

membalas semua(1)saya akan balas

  • P粉770375450

    P粉7703754502023-08-14 16:31:58

    Saya tahu ini sudah lama, tetapi bagi sesiapa sahaja yang menemui soalan ini melalui Google: Anda perlu menggunakan PDOStatement::nextRowset untuk mengulang set hasil daripada berbilang pertanyaan.

    Walau bagaimanapun, dalam beberapa versi nampaknya terdapat masalah ingatan apabila menggunakan nextRowset dan dblib (dalam kes saya 94Tb memori telah diperuntukkan untuk mencuba...), jadi saya akhirnya mereka bentuk semula untuk mengelakkan berbilang pertanyaan SQL sama sekali (sementara adalah untuk menyalin nilai diisytiharkan di mana ia digunakan).

    balas
    0
  • Batalbalas