困っていること
たびたび申し訳ありません。データベースからSELECTしようとすると、下記エラーが表示されます。
試したこと
var_dump();を使ったりしたのですが、「$rec1=$stmh1->fetch(FETCH_ASSOC);」の所がbool(false)となります。当該レコードは確かに<checkbox>にて選択され、POSTもされている状況です。理由はif条件式を通過して実行されているからです。
Warning: Use of undefined constant FETCH_ASSOC - assumed 'FETCH_ASSOC' (this will throw an Error in a future version of PHP) in C:\xampp\htdocs\idol\update_profile_done.php on line 45
実現したいこと
正しくfetchできるようにしたい。
<?php session_cache_limiter('private_no_expire'); require_once('login_tmp.php'); require_once('../common/common.php'); ?> <!DOCTYPE html> <html> <head><meta charset=UTF-8> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>プロフィール登録完了</title> </head> <body> <h3>プロフィール登録完了</h3><br /> <?php $post=sanitize($_POST); $id=$_SESSION['id']; if($id=='') { print '無効なパラメータです。'; exit(); } //データベース接続 $dsn='mysql:host=localhost;dbname=idol;charset=utf8'; $user='root'; $password=''; $dbh= new PDO($dsn,$user,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); if (isset($post['del_img00'])) { if ($post['del_img00'] != "") { $sql1='SELECT * FROM mst_img WHERE mem_id=? AND img_flg=11'; $stmh1=$dbh->prepare($sql1); $stmh1 -> bindValue(1, $id, PDO::PARAM_INT); $stmh1->execute(); $rec1=$stmh1->fetch(FETCH_ASSOC); $img=substr($rec1['image'],4); print $img; } } 以下、省略
<<<遷移前のソース>>>
<?php session_cache_limiter('private_no_expire'); require_once('login_tmp.php'); require_once('../common/common.php'); ?> <!DOCTYPE html> <html> <head><meta charset="UTF-8"> <title>プロフィール確認</title> </head> <body> <?php $err=''; $post=sanitize($_POST); print '<h3>プロフィール確認</h3><br />'; print '<form name="update_profile_check" method="post" action="update_profile_done.php"><br />'; print '変更後のハンドルネーム:<br />'; $idol_name=$post['idol_name']; print $idol_name.'</br />'; print '<input type="hidden" name="idol_name" value="'.$idol_name.'">'; print '変更後の都道府県<br />'; $pref_arr=array( "0"=>"内緒" ,"1"=>"北海道" ,"2"=>"青森県" ,"3"=>"岩手県" ,"4"=>"宮城県" ,"5"=>"秋田県" ,"6"=>"山形県" ,"7"=>"福島県" ,"8"=>"茨城県" ,"9"=>"栃木県" ,"10"=>"群馬県" ,"11"=>"埼玉県" ,"12"=>"千葉県" ,"13"=>"東京都" ,"14"=>"神奈川県" ,"15"=>"新潟県" ,"16"=>"富山県" ,"17"=>"石川県" ,"18"=>"福井県" ,"19"=>"山梨県" ,"20"=>"長野県" ,"21"=>"岐阜県" ,"22"=>"静岡県" ,"23"=>"愛知県" ,"24"=>"三重県" ,"25"=>"滋賀県" ,"26"=>"京都府" ,"27"=>"大阪府" ,"28"=>"兵庫県" ,"29"=>"奈良県" ,"30"=>"和歌山県" ,"31"=>"鳥取県" ,"32"=>"島根県" ,"33"=>"岡山県" ,"34"=>"広島県" ,"35"=>"山口県" ,"36"=>"徳島県" ,"37"=>"香川県" ,"38"=>"愛媛県" ,"39"=>"高知県" ,"40"=>"福岡県" ,"41"=>"佐賀県" ,"42"=>"長崎県" ,"43"=>"熊本県" ,"44"=>"大分県" ,"45"=>"宮崎県" ,"46"=>"鹿児島県" ,"47"=>"沖縄県" ); if (isset($post['pref_id'])) { if ($post['pref_id'] != "") { $pref_id=$post['pref_id']; }else{ print '都道府県が入力されていません。'; print '<input type="button" onclick="history.back()" value="戻る">'; exit(); } foreach($pref_arr as $key=>$val) { if ($pref_id==$key) { print $val; } } } print '<br />'; print '<input type="hidden" name="pref_id" value="'.$pref_id.'">'; if (isset($post['del_img00'])) { if ($post['del_img00'] != "") { $del_img00=$post['del_img00']; print $del_img00; print '<input type="hidden" name="del_img00" value="'.$del_img00.'">'; } } if (isset($post['del_img02'])) { if ($post['del_img02'] != "") { $del_img02=$post['del_img02']; print $del_img02; print '<input type="hidden" name="del_img02" value="'.$del_img02.'">'; } } if (isset($post['del_img04'])) { if ($post['del_img04'] != "") { $del_img04=$post['del_img04']; print $del_img04; print '<input type="hidden" name="del_img04" value="'.$del_img04.'">'; } } if (isset($post['del_img06'])) { if ($post['del_img06'] != "") { $del_img06=$post['del_img06']; print $del_img06; print '<input type="hidden" name="del_img06" value="'.$del_img06.'">'; } } $appeal=$post['appeal']; print '<textarea name="appeal" rows="8" cols="20">'; print $appeal; print '</textarea>'; print '<input type="submit" value="登録">'; print '<br /><br />'; if($err=='1') { print '<input type="button" onclick="history.back()" value="修正する">'; } print '</form>'; ?> </body> </html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。