Panduan penggunaan PDO: Menggunakan berbilang pertanyaan untuk mengendalikan Pelayan Sql
P粉178132828
P粉178132828 2023-08-13 20:25:23
0
1
526
<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粉178132828
P粉178132828

membalas semua(1)
P粉770375450

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).

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan