akkun_choi pedia
mindia › akkun_choi pedia › 単語

PDO

akkun_choi · 2009-04-27 更新 · 履歴(7)
第 7 版(2009-04-28 06:06:36 · akkun_choi)を表示しています。 最新版に戻る

とにかく動かす

>|php|
<?php
$pdo = new PDO("mysql:host=localhost;dbname=test",
'username', 'password');
$stmt = $pdo->prepare("select * from hoge where type = ?");
var_dump($stmt->execute(array(2)));
var_dump($stmt->fetchAll());

||<

prepareもqueryも複数クエリ実行できるんだ…。今さら知った。
mysql_query()かなんかは無理だった気がする

The pgsql driver is not currently installed

PDOはPDO用のエクステンションがある。

php_pgsql.dllじゃなくて、php_pdo_pgsql.dllをロードしなければならない

>|php|
$pdo = new PDO("mysql:host=localhost; dbname=mindia",
"username", "password");
||<

SQLSTATE[HY000]

このエラーは

SQLSTATE[HY000] General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.

これでOK

#$this->_connection->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);

そもそも、一回のqueryメソッドで複数クエリを投げた後に、またqueryするとこのエラーがでる。複数クエリを投げた後になんか残るんだろうか?複数クエリを投げなければよい。(だけどそれも困る…)

履歴

タグ

他の人の「PDO」