【解決方法】警告を解決する方法: mysqli::query(): mysqli をフェッチできませんでした: mysql で非オブジェクト エラーのプロパティ ‘num_rows’ を取得しようとしています

プログラミングQA


ユーザーがボタンをクリックしたときにデータベースが取得したアイテムを表示する次のコードを開発しました。 1 つのボタンに続くコードは完璧に機能します。 そこで、2 番目のボタンに同じコードを使用して、変数を変更した後にクエリ結果を表示しました。 しかし、2番目のボタンをクリックすると、このエラーメッセージが表示されます

警告: mysqli::query(): mysqli を取得できませんでした
Notice: 非オブジェクトのプロパティ ‘num_rows’ を取得しようとしています
0件の結果
警告: mysqli::close(): mysqli を取得できませんでした

同様の問題が発生し、回答が公開されていることは事実です。 私はそれらを試しましたが、それでも自分の間違いがどこにあるのか理解できません。
私の間違いを見つけるための助けは本当に賞賛されるでしょう
ありがとう

私が試したこと:

<?php
                      $sql = "SELECT * FROM services  where service='Vehicle_Hiring'
                      ";
                      $result = $con->query($sql);
                      if ($result->num_rows > 0) {
                      while ($row = $result->fetch_assoc()) {
                      ?>
          <div class="col-lg-3" style="border: outset;">
              <div class="header">
                      <?php echo '<img src="' . $row['image_path4']. '" width="100" height="100">'; ?>
              </div>
              <div class="body">
                      <h4><?php echo $row ['name']; ?></h4>
                      class="fa fa-envelope-square"><?php echo $row ['email']; ?></br>
                      class="fa fa-address-book"><?php echo $row ['address']; ?></br>
                      <?php echo $row ['years']; ?></br>
                      class="fa fa-info"><?php echo $row ['details']; ?>
              </div>
              <div style="background-color: #000000">
                      <font color="#FFFFFF"><?php echo $row ['district']; ?></font>
                      <font color="#FFFFFF"><?php echo $row ['city']; ?></font>
              </div>

          </div>

                      <?php
                         }
                      } else {
                         echo "0 results";
                      }
                      $con->close();
                      ?>

解決策 1

問題は

$con->close();

接続を閉じるのが早すぎました。 その問題を削除すると解決しました

解決策 3

それは私にとってもうまくいきます。 ありがとう。 私はそこに立ち往生している日が多すぎます。
接続を閉じるのが早すぎます。

$db->close();

解決策 4

警告: mysqli_query(): 行 12 の /home/u193961646/domains/myjss.online/public_html/test.php で mysqli を取得できませんでした

警告: mysqli_fetch_array() は、パラメーター 1 が mysqli_result であると想定します。null は、13 行目の /home/u193961646/domains/myjss.online/public_html/test.php で指定されます

注意: 未定義の変数: /home/u193961646/domains/myjss.online/public_html/test.php の 17 行目の ti
警告: mysqli_query(): 行 20 の /home/u193961646/domains/myjss.online/public_html/test.php で mysqli を取得できませんでした

警告: mysqli_fetch_array() は、パラメーター 1 が mysqli_result であることを想定しています。21 行目の /home/u193961646/domains/myjss.online/public_html/test.php で指定された null です。

注意: 未定義の変数: 25 行目の /home/u193961646/domains/myjss.online/public_html/test.php の jssblock

include’newc.php’;
// error_reporting(0);
error_reporting(E_ALL);
ini_set(‘display_errors’, ‘1’);

$runt=mysqli_query($conn,”SELECT * FROM `Recharge_offer` WHERE id=2″);
while($rowt=mysqli_fetch_array($runt)){ $ti=$rowt[‘offer5’];
;}

echo”off=”.$ti;

$run=mysqli_query($conn,”SELECT * FROM `onoff` WHERE id=7″); //ID による並べ替え DESC LIMIT 0,50
while($row=mysqli_fetch_array($run)){
$jssblock=$行[‘paidjoinung’]; $offerblock=$行[‘freejoining’];
}

エコー”
on”.$jssblock;

?>

コメント

タイトルとURLをコピーしました