'(Incorrect integer value: '' for column 'IdSkjell' at row 1)

Hey everyone i have searched for this but i dindt find the right answer just the topic. So i cant find out what the problem is in my code.

(Incorrect integer value: '' for column 'IdSkjell' at row 1)

 $query = "SELECT IdSkjell FROM Skjell ORDER by IdSkjell DESC LIMIT 1"; /* Henter ut iformasjonen fra * */

            $result = $kobling->query($query); /* Lager en kobling mellom tabell og * i denne nye tabellen */

            $row = $result->fetch_array(MYSQLI_NUM); /* */

            $IdSkjell = $row[0]; /* Iden til den nyligste personen er skrevet inn her, altså den NYESTE linjen med informasjon, derav når vi lager en ny linjen med en ny person, vil det tilføyes en til linje og da vil tallet stige fra f.eks 4 til 5. */


            $sql = "INSERT INTO Info (Artnavn, Sted, Stedsnavn, Personnr, IdSkjell) VALUES ('$Artnavn', '$Sted', '$Stedsnavn', '$Personnr', '$IdSkjell')";  /*Er en ny tabell man henter fra, derfor er det ikke query */

Thank you for helping me!! I really appreciate it!



Solution 1:[1]

Generally enclosing integers with single quotes has no affect on a sql statement though as T Gray recommended, printing it out will let you know for sure. Try testing $IdSkjell using either is_nan or is_numeric and throw an error before the last $sql statement.

$IdSkjell = $row[0]; 
if (is_nan($IdSkjell)) {
    echo $IdSkjell . " is not a number);
} else {
     $sql = "INSERT INTO Info (Artnavn, . . . .";
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Karen Vicknair