prepare
PDO::prepare — 文を実行する準備を行い、文オブジェクトを返す
ここに書いてある文オブジェクトって何ですか?
$stmtをvar_dumpやったら
object(PDOStatement)#2 (1) { ["queryString"]=> string(51) "select * from customer where login=? and password=?" }
でした。
この中に文オブジェクトがあるのでしょうか。
どれですか。
オブジェクトとはインスタンスですよね。
php
1<?php 2session_start (); 3// unset→指定した変数を破棄する 4unset ( $_SESSION ['customer'] ); 5$pdo = new PDO ( 'mysql:host=localhost;dbname=takahashi1;charset=utf8', 'takahashi', 'takahashi' ); 6$stmt = $pdo->prepare ( 'select * from customer where login=? and password=?' ); 7var_dump($stmt); 8$stmt->execute ( array ( 9 $_POST ['login'], 10 $_POST ['password'] 11) ); 12 13// foreachは配列とオブジェクトをループして使うための構文 14// 配列ではないが使いやすくするために特別にforeachの反復処理で使えるように作られている 15// $rowという変数に入れる 16// $rows = $stmt->fetchAll (); 17// var_dump($rows) 18foreach ( $stmt->fetchAll () as $row ) { 19// foreach ( $rows as $row ) { 20 // 連想配列$_SESSION['customer']にキーを指定して追加し、値として連想配列を代入 21 $_SESSION ['customer'] = array ( 22 // idというキーで$row['id']を入れる 23 'id' => $row ['id'], 24 'name' => $row ['name'], 25 'address' => $row ['address'], 26 'login' => $row ['login'], 27 'password' => $row ['password'] 28 ); 29} 30if (isset ( $_SESSION ['customer'] )) { 31 echo 'いらっしゃいませ、', $_SESSION ['customer'] ['name'], 'さん。'; 32} else { 33 echo 'ログイン名またはパスワードが違います。'; 34} 35?>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/13 04:53