###前提・実現したいこと
setFetchModeの挙動を確認していたところ、理解不足の所がでてきたので確認させて下さい。
$stmt->setFetchMode(PDO::FETCH_NUM);
var_dump($stmt->fetchAll());
は問題なくvar_dumpが表示されるのですが、
$user = $stmt->setFetchMode(PDO::FETCH_NUM);
var_dump($user->fetchAll());
と記載すると以下のエラーがでます。
エラーは回避できているので気にしなくてもいいかもしれませんが腑に落ちないので確認させて頂いています。
理解不足の質問のようで申し訳ないですが確認頂ければ幸いです。
どうかよろしくお願い致します。
###発生している問題・エラーメッセージ
Uncaught Error: Call to a member function fetchAll() on boolean
###該当のソースコード
<?php define('DB_DATABASE', 'pdo_test'); define('DB_USERNAME', 'dbtest'); define('DB_PASSWORD', 'pass'); define('PDO_DSN', 'mysql:host=localhost;dbname=' . DB_DATABASE); try { $db = new PDO(PDO_DSN, DB_USERNAME, DB_PASSWORD); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $db->query("select * from users"); $stmt->setFetchMode(PDO::FETCH_NUM); var_dump($stmt->fetchAll()); } catch (PDOException $e) { echo $e->getMessage(); exit; }
###試したこと
$stmt->setFetchMode(PDO::FETCH_NUM)の結果はbooleanなので、上記エラーが出ていると思うのですが、間に$userでいれずに直接fetchAll()すると正常に起動するのか理解できません。
###補足情報(言語/FW/ツール等のバージョンなど)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/29 08:09
2017/11/29 08:17
2017/11/29 09:37