mysqli_query() expects parameter 1 to be mysqli, null given in

Her kan du få hjælp og stille spørgsmål til MySQL/MySQLi!
Besvar
pohjola251
Entusiast
Entusiast
Indlæg: 26
Tilmeldt: 1. nov 2013, 21:53
Kontakt:

mysqli_query() expects parameter 1 to be mysqli, null given in

Indlæg af pohjola251 » 23. maj 2015, 10:41

hej jeg sidder og laver en skole opgave hvor jeg skal have databasen til at huske folks navn, adress og email når de taster den ind i formen jeg har lavet databserne med sammen navne som i ser i koden men jeg forstå ikke hvorfor jeg får de her fejl:

Undefined index: adresser in C:\wamp\www\mocca\form.php on line 6

Undefined index: email in C:\wamp\www\mocca\form.php on line 7

Warning: mysqli_query() expects parameter 1 to be mysqli, string given in C:\wamp\www\mocca\form.php on line 10

og min kode ser sådan her ud:

Kode: Vælg alt

<form action="form.php" method="post">
    <?php

    if(isset($_POST['navn'])){
    $navn = $_POST['navn'];
    $adresser = $_POST['adresser'];
    $email = $_POST['email'];
   

   mysqli_query ($navn, "INSERT INTO `tilmeldinger`.`adresser` (`id`, `Navn`, `adresse`, `email`) VALUES (NULL, '$navn', '$adresser', '$email')");

}

    ?>


    <p>
        <label for="navn">Navn<span class="stjerne"></span>:</label>
        <input name="navn" id="navn" type="text" autofocus required class="txt_stor" placeholder="For- og efternavn" />
    </p>
    <p>
        <label for="adresse">Adresse<span class="stjerne"></span>:</label>
        <input name="adresse" id="adresse" type="text" required class="txt_stor" placeholder="Din adresse" />
    </p>
    <p>
        <label for="mail">E-mail</label>
        <input name="mail" id="mail" type="email" class="txt_stor" placeholder="eksempel@hjemmeside.dk" />
    </p>
    <p>
        <input type="submit" name="sendForm" class="knap" value="Send" />
    </p>
</form>

Brugeravatar
Daniel
Admin
Admin
Indlæg: 625
Tilmeldt: 14. jun 2011, 09:27
Geografisk sted: Danmark, Fyn, Nørre Aaby
Kontakt:

Re: mysqli_query() expects parameter 1 to be mysqli, null given in

Indlæg af Daniel » 23. maj 2015, 13:52

Hejsa,

Kan se flere fejl i din kode, som skaber de problemer du oplever her :-)
Jeg har hurtigt smidt lidt kode sammen til dig, som ikke giver fejl:

Kode: Vælg alt

<?php
if(isset($_POST['sendForm'])) {
    if(isset($_POST['navn'], $_POST['adresse']) && !empty($_POST['navn']) && !empty($_POST['adresse'])) {
        $navn = $_POST['navn'];
        $adresse = $_POST['adresse'];
        if(isset($_POST['mail']) && !empty($_POST['mail'])) {
            if(filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL)) {
                $email = $_POST['mail'];
            } else {
                echo 'Du skal angive en rigtig e-mail';
            }
        } else {
            $email = '';
        }
    } else {
        echo '<p>Du skal udfylde alle felter markeret med *</p>';
    }

    mysqli_query($link, "INSERT INTO `adresser` (`Navn`, `adresse`, `email`) VALUES ('$navn', '$adresse', '$email')");
}
?>

<form action="" method="post">
    <p>
        <label for="navn">Navn<span class="stjerne"></span>:</label>
        <input type="text" name="navn" id="navn" class="txt_stor" placeholder="For- og efternavn" autofocus required>
    </p>
    <p>
        <label for="adresse">Adresse<span class="stjerne"></span>:</label>
        <input type="text" name="adresse" id="adresse" class="txt_stor" placeholder="Din adresse" required>
    </p>
    <p>
        <label for="mail">E-mail</label>
        <input type="email" name="mail" id="mail" class="txt_stor" placeholder="eksempel@hjemmeside.dk">
    </p>
    <p>
        <input type="submit" name="sendForm" value="Send" class="knap">
    </p>
</form>
Der er dog stadig nogle ting som kan give dig en fejl her.
I linjen hvor mysqli_query funktionen bliver kørt, har du sat den til at sætte ind i `tilmeldinger`.`adresser`, her skal du kun angive hvilken tabel du ønsker at sætte ind i, jeg har sat adresser ind som tabellen, men hvis det er noget andet, så skal du ændre det.
Så er der det første parameter i mysqli_query funktionen, der har du sat $navn variablen ind, her skal du sætte den variabel ind, som indeholder din MySQLi forbindelse, jeg har bare sat $link ind.
Der er også nogle andre småting såsom hvor formen sender den hen, nu har du sat koden ind som om det hele foregår på samme side, hvis det ikke er tilfældet, skal du sætte en action ind i formen igen.

Det burde virke fint, men har du problemer, skriver du bare igen :-)

pohjola251
Entusiast
Entusiast
Indlæg: 26
Tilmeldt: 1. nov 2013, 21:53
Kontakt:

Re: mysqli_query() expects parameter 1 to be mysqli, null given in

Indlæg af pohjola251 » 27. maj 2015, 19:25

Hej Daniel tusind tak for hjælpen og undskyld mit sene svar, jeg har haft lidt travlt, jeg prøver koden af og ser hvad der sker, og kan jeg ikke finde ud af den skriver jeg lige igen :D

Besvar