
独学で勉強してます。なんとなくエラーの意味はわかっているのですが、どう直したらよいのかわからず、ご教授していただけると助かります。
エラー内容
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で質問しましょう!
似たような質問が見つかりました
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mySQLで結果が無いときの処理
-
テーブル内の文字によりログイ...
-
MySQLからデータを取得して表示...
-
DBで検索結果に該当するデータ...
-
PHP セレクトメニューの呼び出...
-
PHP 勤務時間の合計を出したい
-
phpとSQLでアクセスカウンタと...
-
php ログインフォーム作成
-
変数の比較
-
取得データの置き換え方法
-
dbに登録したデータをphpのプル...
-
MySQLのデーター送信について。...
-
警告を出さないコードの書き方
-
データをカンマで区切る・・・
-
PHPで[]の使い方について
-
mysqlから取得した配列をカンマ...
-
実行時エラー3131 FROM 句の構...
-
PHPからデータベースに接続した...
-
phpMyadminとPHP上からの違い?
-
php データ削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DBで検索結果に該当するデータ...
-
PHPで[]の使い方について
-
mysql_fetch_assoc()の非推奨
-
アラートでyes noを作りたいです。
-
チェックボックスでチェックし...
-
チェックボックスから検索、PHP...
-
checkboxクリック時、SQLを実行...
-
phpでmysqlを使ってデータベー...
-
sortable ギブアップです…助け...
-
空だと思ったのに・・・
-
PHP 10件表示 "前へ" "次へ"
-
入力フォームが上手く動きませ...
-
PHP MYSQLから呼び出し後の比較
-
エクセルVBAについて
-
PHPでMySQLデータを呼び出し、w...
-
mysqlから取得した配列をカンマ...
-
データベースのページング出力...
-
チェックボックス検索システム
-
検索したときなにも無かった場合
-
dbに登録したデータをphpのプル...
おすすめ情報