###前提・実現したいこと
データベースに新しい管理者のIDとパスワードを登録するために、PDOでDBに接続して新しいIDとパスワードをINSERTしようとしているのですが、
その際にSELECT文実行時にはなかった以下のエラーが発生してしまいます。
###発生している問題・エラーメッセージ
Notice: Undefined variable: php_skill2 in /home/users/0/******/***/****/admin/manage_done.php on line 39 上のエラーメッセージは、SELECT文実行時(下記ソース)では現れませんでした。 ■connect_db.php <?php define("HOST","****"); define("DBNAME","****"); define("DBUSER","****"); define("DBPASS","****"); function pdo() { $pdo = new PDO('mysql:host=' . HOST . ';dbname=' .DBNAME,DBUSER,DBPASS); $pdo->exec('set names utf8'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return $pdo; } $pdo = pdo(); try{ $stmt = $pdo->prepare('SELECT login_no ' . ', login_id ' .', login_pass ' .' FROM テーブル名 ' .' WHERE login_id = ? ' .' AND login_pass = ? ' ); }catch(PDOException $e){ $error = $e->getMessage(); } $stmt->execute(array('ID名', 'パスワード名')); $php_skill = $stmt -> fetchAll(PDO::FETCH_ASSOC); foreach($php_skill as $k => $v){ $result = $v['login_id']; $result2 = $v['login_pass']; } ?>
###該当のソースコード
php
1問題のソースコード 2 3■manage_done.php 4 5<?php 6session_start(); 7//ログインボタンを押さないで 8//このページにいる場合はログインページに戻す 9if(empty($_SESSION['auth'])){ 10 header('Location:login.php'); 11 exit; 12} 13$php_skill2 =''; 14require_once('connect_db.php'); 15$stmt2 = $pdo->prepare("INSERT INTO 16テーブル名 17(login_id, login_pass) 18VALUES 19('".$_SESSION['id']."', '".$_SESSION['pass']."')"); 20 21try{ 22$stmt2->execute(array( $_SESSION['id'], $_SESSION['pass'])); 23}catch(PDOException $e){ 24$error = $e->getMessage(); 25} 26try{ 27$php_skill2 = $stmt2 -> fetchAll(PDO::FETCH_ASSOC); 28}catch(PDOException $e){ 29$error = $e->getMessage(); 30} 31print_r($php_skill2); ←エラーが吐かれている箇所 32 33foreach($php_skill2 as $k => $v){ 34 $result3 = $v['login_id']; 35 $result4 = $v['login_pass']; 36} 37echo $result3; 38 39?> 40
###試したこと
$_SESSION['id']にはechoした所ちゃんと値が渡っていたので、上記2つのコードで違いがあるとするとINSERTの書き方が間違えているのかと考えたのですが、どうかいたらいいのかよくわかりませんでした。
質問初めてなので至らない所があったら申し訳ありません。
ご教授お願い致します。
###補足情報(言語/FW/ツール等のバージョンなど)
FWは使っていません
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/17 03:30