独学で勉強してます。なんとなくエラーの意味はわかっているのですが、どう直したらよいのかわからず、ご教授していただけると助かります。
エラー内容
Warning: Undefined variable $rows in C:\xampp\htdocs\test_page\pdo_search.php on line 79
Warning: foreach() argument must be of type array|object, null given in C:\xampp\htdocs\test_page\pdo_search.php on line 79
79行目 → foreach($rows as $row){
try{
$dbh = new PDO($dsn, $user, $password);
$statement = $dbh->prepare("SELECT * FROM wiper_s WHERE Name LIKE (:name_1) ");
$errors = array();
if($statement){
$Name = $_POST['name_1'];
$like_name = "%".$Name."%";
//プレースホルダへ実際の値を設定する
$statement->bindValue(':name_1', $like_name, PDO::PARAM_STR);
if($statement->execute()){
//レコード件数取得
$row_count = $statement->rowCount();
while($row = $statement->fetch()){
$rows[] = $row; ←ここが原因だと思うのですが、どう書き換えたら よいのでしょうか。
}
}else{
$errors['error'] = "検索失敗しました。";
}
//データベース接続切断
$dbh = null;
}
}catch (PDOException $e){
print('Error:'.$e->getMessage());
$errors['error'] = "データベース接続失敗しました。";
よろしくおねがいします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
まったく同じ質問の様ですが、
https://oshiete.goo.ne.jp/qa/12488064.html
以下ではダメでしたか?
// Undefined variable 対策として、必ず rows 変数を定義
// must be of type array 対策として、必ず配列に初期化
$rows = array();
while (...) $rows[] = ...;
または
// 未定義の rows ならば、そもそも処理しなくてよい
if (isset($rows)) { ... }
No.1
- 回答日時:
細かく見てませんが、あなたがやりたいのは↓こういうことでは?
while($row = $statement->fetch()){
$rows[] = $row;
}
↓
$rows = $statement->fetch(PDO::FETCH_ASSOC);
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sortable ギブアップです…助け...
-
checkboxで複数選択して,OR...
-
PHPのupdate文はこれでいいので...
-
dbに登録したデータをphpのプル...
-
syntax errorの原因について
-
データ関連付けした際
-
CSVにエクスポートする保存...
-
PHP 10件表示 "前へ" "次へ"
-
PHP+MySQLでの配列のinsert文に...
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
MySQLでデータベースにデータin...
-
PHP(PDO)でDBの情報を完全一...
-
insert1つの処理でもトランザ...
-
Accessへ日付をINSERT
-
<VB.NET>INSERT文でDBにデータ...
-
sqlから多次元配列に要素を格納...
-
SQL文が実行できません
-
php データ削除
-
JAVA SQLServerException 列名 ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで[]の使い方について
-
dbに登録したデータをphpのプル...
-
アラートでyes noを作りたいです。
-
phpでmysqlを使ってデータベー...
-
ヒアドキュメントについて
-
MySQLに保存した画像を表示したい
-
PHP 10件表示 "前へ" "次へ"
-
mysqlから取得した配列をカンマ...
-
DBで検索結果に該当するデータ...
-
PEAR DBでの行取得について
-
検索結果にラジオボタンを付加...
-
SELECT結果から動的にコンボボ...
-
検索結果をgoogleのように数件...
-
PHPでMySQLデータを呼び出し、w...
-
PHPでMySQLのデータを2次元配...
-
checkboxクリック時、SQLを実行...
-
php5.2.9に変更後に不具合について
-
PDOでLIKE検索
-
PHP+MySQLでの配列のinsert文に...
-
PHP・MySQL使用で、年齢制限を...
おすすめ情報