PHPでPDOを用いてmysqlからデータの取得を行おうとしております。
そこで、
$sql = 'SELECT * FROM ***;'; $stmt = $pdo -> query($sql); if(!$stmt){ $info = $pfo ->errorInfo(); exit($info[2]); } while($data= $stmt ->fetch(PDO::FETCH_ASSOC)){ echo $data['**']; }
このようにして必要なデータを取り出すことには成功したのですが、複文を書きたいときにエラーが出てしまいます。
具体的には
$sql = 'SELECT ** FROM ***; SELECT xx FROM xxx;'; $stmt = $pdo -> query($sql); if(!$stmt){ $info = $pfo ->errorInfo(); exit($info[2]); } while($data= $stmt ->fetch(PDO::FETCH_ASSOC)){ echo $data['**']; echo $data['xx'];
このように書いたのですがxxが見つからない?というようなエラーが出ます。
どのようにすれば複文記述することができるのかご教授願いたいです。説明不足であれば追記します。
環境はMAMPでPHPのバージョンは7.00です。
以上、よろしくお願いします。
2016/1/10追記
ご解答ありがとうございます。
$sql = 'SELECT ** FROM ***;'; $sql1 = 'SELECT xx FROM xxx;'; $stmt = $pdo -> query($sql); $stmt1 = $pdo -> query($sql1); while($data= $stmt ->fetch(PDO::FETCH_ASSOC)){ echo $data['**']; } while($data1= $stmt1 ->fetch(PDO::FETCH_ASSOC)){ echo $data['xx']; }
複文記述する際、このような感じでデータを取れることは理解しました。(命令をstmtに保存してるイメージなのかなという解釈です)
ただこれだと、[0],[1]…xx[0],xx[1]となってしまいます。
――――――――――――――
|[0]|xx[0]|
|[1]|xx[1]|
|**[2]|xx[2]|
――――――――――――――
このように交互にデータの取得を行いたいです。
while文内では、データに命令されたデータを代入しある分を保持→表示しているのかなという解釈をしていて、
それだとwhile文の中にwhile文を書いてもやりたい処理はできなく困っています。
交互にデータを取ってくる処理のご教授をお願いしたいです。
何度もすみません。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/10 03:30
2016/01/10 03:50
2016/01/10 05:10
2016/01/10 09:03
2016/01/10 12:52