
検索フォームを作ろうとしている初心者です。
<?php
foreach($rows as $row){ ←この行でエラーが発生しました。
?>
<tr>
<td><?=htmlspecialchars($row['Manufacturer'],ENT_QUOTES,'UTF-8')?></td>
<td><?=htmlspecialchars($row['name'],ENT_QUOTES,'UTF-8')?></td>
<td><?=htmlspecialchars($row['Model year'],ENT_QUOTES,'UTF-8')?></td>
<td><?=htmlspecialchars($row['Model'],ENT_QUOTES,'UTF-8')?></td>
<td bgcolor = "ffff00"><?=htmlspecialchars($row['right'],ENT_QUOTES,'UTF-8')?></td>
<td bgcolor = "ffff00"><?=htmlspecialchars($row['left'],ENT_QUOTES,'UTF-8')?></td>
<td bgcolor = "ffff00"><?=htmlspecialchars($row['Rear'],ENT_QUOTES,'UTF-8')?></td>
<td><?=htmlspecialchars($row['備考'],ENT_QUOTES,'UTF-8')?></td>
</tr>
<?php
}
?>
エラー内容がこちら
Warning: Undefined variable $rows in C:\xampp\htdocs\teihoku01\pdo_search.php on line 85
Warning: foreach() argument must be of type array|object, null given in C:\xampp\htdocs\teihoku01\pdo_search.php on line 85
どんな原因なのでしょうか…
No.7ベストアンサー
- 回答日時:
定義されていない変数エラーは、
当然ながら定義処理が抜けているから発生します。
if や for や while 文のブロック中で変数定義している場合、
条件によってはブロック内が実行されないので、
エラーが発生する可能性が常に付きまといます。
事前に変数を初期化する定義を加えるか、
$x = array();
if (...) { $x[] = 42; }
foreach ($x as $i) { ...
変数が定義されているかの判定を加えましょう
if (...) { $x[] = 42; }
if (isset($x)) foreach ($x as $i) { ...
回答ありがとうございます!
>事前に変数を初期化する定義を加えるか、
$x = array();
if (...) { $x[] = 42; }
foreach ($x as $i) { ...
変数が定義されているかの判定を加えましょう
if (...) { $x[] = 42; }
if (isset($x)) foreach ($x as $i) { ...
この文の意味を理解した上で参考にさせていただきます。
頑張ってみます!ありがとうございました!
No.4
- 回答日時:
前段の処理で、クエリが間違っていたり、そもそも処理が間違っていたりして、$rowsに値を代入している箇所で、正しく値を代入できていないんでしょうね。
回答ありがとうございます。
$dbh = new PDO($dsn, $user, $password);
$statement = $dbh->prepare("SELECT * FROM wiper_s WHERE Manufacturer LIKE (:Manufacturer_1) ");
if($statement){
$Manufacturer = $_POST['Manufacturer_1'];
$like_Manufacturer = "%".$Manufacturer."%";
//プレースホルダへ実際の値を設定する
$statement->bindValue(':Manufacturer_1', $like_Manufacturer, PDO::PARAM_STR);
$errors = array();
if($statement->execute()){
//レコード件数取得
$row_count = $statement->rowCount();
while($row = $statement->fetch()){
$rows[] = $row; ←ここですか??
}
}else{
$errors['error'] = "検索失敗しました。";
}
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- 工学 【制御工学】単位ステップ応答の遅れ時間の求め方(令和2年度の機械設計技術者試験(制御工学)の問題) 3 2022/11/02 10:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP8でWarning:Undefined varia...
-
composerをインストールしたい...
-
phpの問い合わせフォームを作っ...
-
配列の値の更新方法について
-
PHPの構文で間違えが分からない
-
SFTPなどは使わないホームペー...
-
$_SESSIONに渡した後はそのまま...
-
($_POST['email']??"", ・・・...
-
phpのエラーについて
-
PHP MySql 画像を取得
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
SplFileObject を利用したとき...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
PHP8でWarning:Undefined varia...
-
marginの値でマイナス値を設定...
-
phpでcookieがうまく保存されない
-
SplFileObject を利用したとき...
-
PHPSpreadsheetを使って関数を...
-
PHPSpreadsheetによる書き出し...
-
PHP8を使うと、大量のWarningが...
-
フォームで戻った際に入力済み...
-
PostgreSQLからCSV形式でエクス...
-
PHPを使って、別サイトの一部を...
-
BASIC認証のフォームをデザイン...
-
入力した部分を表示させたまま...
-
【初心者】XAMPPのapacheの(恐...
-
ログイン機の付きの掲示板サイ...
-
ワードプレスサイト PHP8.0.25...
-
Postgresの特定のカラムからス...
-
PHPで画像の渡しが上手く行きま...
-
PHPの勉強してます。 配列のと...
おすすめ情報
//レコード件数取得
$row_count = $statement->rowCount();
while($row = $statement->fetch()){
$rows[] = $row; ←これが間違ってますか?
}
}else{
$errors['error'] = "検索失敗しました。";
}
//データベース接続切断
$dbh = null;
}
}catch (PDOException $e){
print('error:'.$e->getMessage());
$errors['error'] = "データベース接続失敗しました。";
}
?>
くんこばさん、naktakさん、Ogre7077さん、
回答をいただき大変ありがとうございました!親身になって教えていただき感謝しております。
すべての方をベストアンサーにしたいのですが、くんこばさん、naktakさんの助言とOgre7077さんの解説文を参考にし勉強させていただきます。
ありがとうございました。