下記のコードについて
$resultが記述する位置によって、内容が変化している?のですが、
原因がわかりません。
ブラウザ上で動作を確認しているのですが、
最初の var_dump($result); の時点では、
object(PDOStatement)#2 (1) { ["queryString"]=> string(28) "SELECT * FROM users LIMIT 20" } id:1
のようにString型で入っているのに、
次の行のforeach($result as $row)では、正常に下記のように
user_id:○○
create_timestamp:2020-04-21 00:01:11
update_timestamp:2020-04-21 00:01:11
...
と表示されます。
また、
最後の行の
var_dump($result);
の時点では、
Warning: Undefined variable $result in C:~~~~\test.php on line 31
NULL
のようにNULLになっています。
これは、
どこでどのような変化や処理が行われているのでしょうか?
また、最後の行のvar_dump($result);でデータを持ってくるにはどのようにしたらよいのでしょうか?
ご教授いただけると幸いです。
function info(){ try{ $dbh = new PDO( "mysql:host=localhost;dbname=user_db;charset=utf8", "user", "pass", ); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $result = $dbh->query('SELECT * FROM users LIMIT 20'); var_dump($result); foreach($result as $row){ echo "id:".$row["id"]."</br>"; echo "user_id:".$row["user_id"]."</br>"; echo "create_timestamp:".$row["create_timestamp"]."</br>"; echo "update_timestamp:".$row["update_timestamp"]."</br>"; echo "</br>"; } $dbh = null; return $result; }catch (PDOException $e){ echo("Error:".$e->getMessage()); die(); } } info(); var_dump($result); ?> コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。