v2.5.2
Giriş yap

While döngüsü içinde fetch_assoc() yazınca hata veriyor

erdem
681 defa görüntülendi

Merhaba, ben bir oylama sistemi yapıyorum bu sitemde 3 tablo var oyluyorum, sorular, oyveren. oyluyorum ve sorular tablosunu
INNER JOIN ile birleştirip bu soru ve içindeki oylanacak olan seçeneklerden birine tıklayınca oyveren tablosuna kişinin userid'si ve oyladığı satır yazılıyor ardından oyluyorum tablosunda o satırın oylandığı slikes kısmını +1 artırıyor
olay bu şekilde işliyor ben şunu yapmak istedim oyveren kişinin oyladığı
bölümün background rengi diğerlerinden farklı olsun ki neyi oyladığı belli olsun işte bu sebeple while içinde bir fetch_assoc()
kodu yazınca hata verdi $queryProgress içinde INNER JOIN olarak oyvereni ekleyince bu sefer herşey
sarpa sarıyor ve oylamalar değişiyor yüzdeler değişiyor o yüzden while döngüsü içinde tekrar bir select
işlemi yapmak zorunda kaldım.. kodlar aşağıdaki gibi.

Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in
C:xampp/htdocs/oylama/inc/rightbar.php:118 Stack trace: #0 C:xampp/htdocs/oylama/post.php(1065):
include() #1 {main} thrown in C:xampp/htdocs/oylama/inc/rightbar.php on line 118


    
<?php 



$queryProgress = "SELECT * FROM oyluyorum INNER JOIN sorular ON oyluyorum.soruid = sorular.id WHERE category = 'A'";
$postProgress  = $db->select($queryProgress);

if ($postProgress) {

  while ($resultProgress = $postProgress->fetch_assoc()) { 

    if (isset($_SESSION['user'])) { 

      //burası yukarıdaki select * from işleminden geliyor
      $oyId        = $resultProgress['soruid']; 
      //burası yukarıdaki select * from işleminden geliyor

      $userid      = $_SESSION['uid'];
      $querySelect = "SELECT sorulikeid FROM oyveren WHERE userid ='$userid' AND sorualid = '$oyId'";
      $postSelect  = $db->select($querySelect);
      $newSelect   = $postSelect->fetch_assoc();


     
      if ($newSelect) { ?>

          <form class="progressdiv" action="progress.php" onsubmit="return false" method="POST" id="<?php echo $resultProgress['sid']; ?>">
            <h6><?php echo $resultProgress['oylanacak']; ?></h6>
               <input type="hidden" name="hideProgress" value="<?php echo $resultProgress['id'] ?>">
            <div class="progress">
              <input class="prog" type="hidden" name="myProgiId" value="<?php echo $resultProgress['sid'];?>">
              <input class="prog2" type="hidden" value="<?php echo $resultProgress['slikes']; ?>">

              <!-- buradaki resultProgress['sid'] yukarıdaki select * from işleminden geliyor -->
              <div class="progress-bar <?php if($newSelect['sorulikeid'] == $resultProgress['sid']) {
                echo "purpleActive";
              } ?>" role="progressbar" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100">
                <span></span>
              </div>
              <!-- buradaki resultProgress['sid'] yukarıdaki select * from işleminden geliyor -->

            </div>

            <button type="submit" class="btn btn-primary progressBtn d-flex" name="hideProgressBtn"></button>
          </form> 


<?php } } } } ?>

            
qplot
1311 gün önce

while ($resultProgress = $postProgress->FETCH(PDO::FETCH_ASSOC)) {

PDO ILE YAZDIYSAN BUNU YAP