Hjelp med feilmelding - fetch_assoc() (PHP & MySQL)

En tråd i 'PHP, SQL og databaser' startet av olsrud88, 20 Jul 2018.

  1. olsrud88 New Member

    Innlegg:
    1
    Hei.

    Jeg holder på å sette opp en en lokal tjeneste som er tiltenkt for eget bruk. I forbindelse med sletting av verdier i en tabell, får jeg følgende feilmelding:

    "Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in.."

    Jeg klarer ikke helt å finne ut hva som forårsaker feilen, og jeg har søkt en del på nett for å se om det er andre med tilsvarende problem, men finner kun tilsvarende feilmelding i forhold til objekter, som så langt ikke har hjulpet meg.

    Har også sjekket alt stemmer i med oppkobling til riktig server og database. Ingen feil der.

    Funksjonen fungerer for øvrig. Når jeg ønsker å slette en verdi, så fungerer det, men feilmeldingen kommer opp når verdien er slettet. Går jeg tilbake til hovedsiden, så forsvinner feilmeldingen.

    Her er koden min (den grønne markerte linjen er koden som jeg ikke klarer å løse riktig):

    <?php
    include_once "./inc-files/config.php";

    $conn = new mysqli($db_host, $db_user, $db_pass, $db_name);
    mysqli_set_charset($conn, 'utf8');

    if ($conn->connect_error) {
    die("Tilkobling feilet: " . $conn->connect_error);
    }

    $sql = "SELECT * FROM tracking";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {

    while($row = $result->fetch_assoc()) {
    echo "<tbody>";
    echo "<tr>";
    echo "<td class='stylebluecontent'>" . $row["id"]. "</td>";
    echo "<td class='stylebluecontent'>" . $row["snr"]. "</td>";
    echo "<td class='stylebluecontent'>" . $row["ref"]. "</td>";
    echo "<td class='stylebluecontent'>" . $row["reg_date"]. "</td>";
    echo "<td class='stylebluecontent'>"; include 'sporing.php'; echo "</td>";
    echo "<td class='stylebluecontent'>"; include 'delete.php'; echo "</td>";
    echo "</tr>";
    echo "</tbody>";
    }
    } else {
    echo "<b><font color='red'>Ingen forsendelser registrert i databasen.</font></b>";
    }
    $conn->close();
    ?>

    I delete.php har jeg følgende kode:

    <?php
    if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    if (isset($_POST['id'])) {

    include_once "./inc-files/config.php";

    $conn = new mysqli($db_host, $db_user, $db_pass, $db_name);
    mysqli_set_charset($conn, 'utf8');

    if(! $conn )
    {
    die('Feil!! Kunne ikke koble til SQL-server: ' . mysql_error());
    }

    $rowToDelete = intval($_POST['id']);

    $query = "DELETE FROM inquiries WHERE id=" . $rowToDelete . " LIMIT 1";

    $result = $conn->query($query) or die($conn->error);
    }
    }
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <input type="hidden" value="<?php echo $row['id']?>" name="id">
    <input class="btn btn-info" type="submit" name="submit" value="Slett">

    <?php
    if (isset($_POST['submitform']))
    {
    ?>
    <script type="text/javascript">
    window.location = "<?php echo $_SERVER['PHP_SELF']; ?>";
    </script>
    <?php
    }
    ?>
    </form>


    På forhånd takk :)
     
  2. Pong

    Pong Jeg selger sʇɥƃıluʍop :)

    Innlegg:
    3.459
    Du inkluderer delete.php for hver post... det blir mange database opens, og $result får en annen verdi igjen...
     

Del denne siden