前提・実現したいこと
PHP、Mysqlを使用し、データを共有するシステムを運用していて、PHPを5.3系から7.3系に移行しました。今までのコードはほとんどそのままでMysqliに書き換えて対応したいのですが、エラーが発生しました。
発生している問題・エラーメッセージ
Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in ファイル名 データベースを取得できていないようなのですが、どこをどう直したらいいかわかりません。
該当のソースコード
【dbconnect.php】 <?php ini_set("display_errors", "On"); // MySQLへ接続する $mysqli = new mysqli("localhost","username","password","dbname"); if ($mysqli->connect_error) { echo $mysqli->connect_error; exit(); } else { $mysqli->set_charset("utf8"); } ?> 【index.php】 <?php require_once 'login.php'; ?> <?php require_once 'dbconnect.php'; ?> <?php require_once 'function.php';?> <?php require_once 'header.php';?> <?php session_cache_limiter('private, must-revalidate');?> <h1 class="posttitle">得意先一覧</h1> <!-- ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ --> <?php $recordSet=$mysqli->query(" select *, max(showroom_db.data_time) as xtime,showroom_customer.c_key from showroom_customer left join showroom_db on showroom_customer.c_key = showroom_db.c_key group by showroom_customer.c_key order by showroom_customer.customer "); ?> <table class="tb_customer3 tb_stripe"> <?php //配列で取り出す while($data=$recordSet->fetch_assoc())://今回のエラーの場所 ?> <?php //現在日付 $time1 = date("Y-m-d H:i:s", time() ); //判定する日時 $time2 = $data['xtime']; //想定した日付 $time3 = strtotime("$time2 +31 day"); //現在日時より想定した日が大きくなる時 if ($time3 < strtotime($time1)) { $whatsold='<img src="img/bakudan.png">'; } else { $whatsold=''; } ?> <tr> <td><a href="product.php?c_key=<?php echo $data['c_key'];?>"><?php echo $data['customer'];?></a></td> <td width="30%">最終更新日:<span class="time"><?php echo $data['xtime'];?></span></td> <td width="5%"><a href="c_delete.php?c_key=<?php echo $data['c_key'];?>"><img src="img/sakujyo.png" alt="得意先削除" class="rover"></a></td> <td width="5%"><?php echo $whatsold; ?></td> </tr> <?php endwhile;?>
試したこと
php7ではmysql関数が対応していないようなのでこちらを参考に書き直しました。
https://qiita.com/kentyama/items/f7759807445c3863ccaa
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/17 05:31
2021/08/17 05:36