以前,我喜歡用 ADOdb 來連接資料庫;自從 PDO 被放進 PHP 5.1 後,它便成了我的新寵…
我在 PHP 5.1.6 環境上幫人家抓蟲時,看到以下兩段程式。
$pdo = New PDO(......);
$sql = "SELECT .....";
$st = $pdo->prepare($sql);
$st->execute();
$rows = $st->fetchAll();
$pdo = New PDO(......);
$sql = "SELECT .....";
$st = $pdo->query($sql);
$rows = $st->fetchAll();
雖然以上兩段程式都可以取出 $rows ,但重複並交叉執行的話,就會出現問題。
- 這段程式可以正確取出 $rows1 與 $rows2:
$pdo = New PDO(......);
$sql = "SELECT .....";
$st = $pdo->query($sql);
$rows1 = $st->fetchAll();
$sql = "SELECT .....";
$st = $pdo->prepare($sql);
$st->execute();
$rows2 = $st->fetchAll();
- 這段程式只能正確取出 $rows1 ,$rows2 會是個空的陣列:
$pdo = New PDO(......);
$sql = "SELECT .....";
$st = $pdo->prepare($sql);
$st->execute();
$rows1 = $st->fetchAll();
$sql = "SELECT .....";
$st = $pdo->query($sql);
$rows2 = $st->fetchAll();
這問題有兩種解法:
5 月 27 2010
[PHP] 使用 PDO 要注意的事
以前,我喜歡用 ADOdb 來連接資料庫;自從 PDO 被放進 PHP 5.1 後,它便成了我的新寵…
我在 PHP 5.1.6 環境上幫人家抓蟲時,看到以下兩段程式。
雖然以上兩段程式都可以取出 $rows ,但重複並交叉執行的話,就會出現問題。
By Joe Horn • PHP 1 • Tags: PDO, PDOStatement, PHP