$items = array();
while ($data = ($result->fetch(PDO::FETCH_ASSOC))){
$items[] = $data;
}
上は一部ですが、$resultではprepare(),execute()を実行しています。
$itemsをvardumpしてみたのですが、
array(0) { }
となってしまいます
prepare()に突っ込むPOSTは取得出来ています
どこをみていけばよいでしょうか
lang
1$search_params = array('id','no','name'); 2 $eq = array(); 3 $val = array(); 4 //foreachで回してempty判断 5 foreach($search_params as $value) { 6 //POSTされていなければWHEREを作る 7 if(!empty( $_POST[$value] )){ 8 //$eq[] = $value.' =?'; 9 $eq[] = $value; 10 $val[] = $_POST[$value]; 11 } 12 } 13 $index = 0; 14 $add_where = array(); 15 foreach ($eq as $value){ 16 //最初だったらwhereをつける 17 if($index == 0){ 18 $add_where[] =" where "."reg.".$value.' = ? '; 19 } else { 20 $add_where[] = " AND "."reg.".$value.' = ? '; 21 } 22 23 $index++; 24 } 25 $sql =" SELECT reg.id,reg.no,reg.name 26 FROM jt as reg 27 LEFT JOIN 28 jisseki as jisseki 29 ON 30 reg.id = jisseki.id 31 32 "; 33 foreach($add_where as $value){ 34 $sql .= $value; 35 } 36 //$value配列の中身を変換する 37 foreach ($val as $key=>$vals) { 38 39 $post_data[$key] = mb_convert_kana($vals, 'rn'); 40 41 } 42 43 $result = select_db_from_param($sql,$val);//$sqlと配列$valを渡してprepareとexecuteを実行する関数 44 $items = array(); 45 46 while ($data = ($result->fetch(PDO::FETCH_ASSOC))){ 47 $items[] = $data; 48 49 }
回答1件
あなたの回答
tips
プレビュー