Problem z dodaniem danych do bazy

0

Witam, zaczynam dopiero swoją naukę SQL'a i już na początku natknąłem się na pewien problem, otóż pobieram dane z formularza, wartość każdego inputa zapisuje do osobnych zmiennych, i gdy próbuje później użyć INSERT INTO z tymi zmiennymi to wywala mi jakiś błąd Syntax, możecie rzucić oko na to i powiedzieć o co chodzi?
Pozdrawiam
Błąd jaki wyskakuje w przeglądarce:

Error: INSERT INTO rozklad (idlotu, datalotu, miejscewylotu, stanowiskowylotu, godzinawylotu, miejsceprzylotu, stanowiskoprzylotu, godzinaprzylotu, idsamolotu, znakwywolawczy, pseudonim) VALUES (NULL, 2018-04-05, 4, C12, 13:21:00, 2, A32, 13:59:00, 5, SP-OOP, KowalTest)
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':21:00, 2, A32, 13:59:00, 5, SP-OOP, KowalTest)' at line 1

PHP

<?php
    ini_set( "display_errors", 0);
    require_once "dbconnect.php";
    $polaczenie = mysqli_connect($host,$user,$password);
    mysqli_query($polaczenie, "SET CHARSET utf8");
    mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
    mysqli_select_db($polaczenie, $database);
    
    $rpseudonim=$_POST["rpseudonim"];
    $rznakwywolawczy=$_POST["rznakwywolawczy"];
    $rjednostka=$_POST["rjednostka"];
    $rdata=$_POST["rdata"];
    $rmiejscewylotu=$_POST["rmiejscewylotu"];
    $rwylotstanowisko=$_POST["rwylotstanowisko"];
    $rgodzinawylotu=$_POST["rgodzinawylotu"];
    $rmiejsceprzylotu=$_POST["rmiejsceprzylotu"];
    $rprzylotstanowisko=$_POST["rprzylotstanowisko"];
    $rgodzinaprzylotu=$_POST["rgodzinaprzylotu"];
    
    //$dane = "INSERT INTO rozklad VALUES (NULL,$rdata,$rmiejscewylotu,$rwylotstanowisko,$rgodzinawylotu,$rmiejsceprzylotu,$rprzylotstanowisko,$rgodzinaprzylotu,$rjednostka,$rznakwywolawczy,$rpseudonim)";

$ddane="INSERT INTO rozklad (idlotu, datalotu, miejscewylotu, stanowiskowylotu, godzinawylotu, miejsceprzylotu, stanowiskoprzylotu, godzinaprzylotu, idsamolotu, znakwywolawczy, pseudonim) VALUES (NULL, $rdata, $rmiejscewylotu, $rwylotstanowisko, $rgodzinawylotu:00, $rmiejsceprzylotu, $rprzylotstanowisko, $rgodzinaprzylotu:00, $rjednostka, $rznakwywolawczy, $rpseudonim)";

//mysqli_query($polaczenie, $ddane);

if ($polaczenie->query($ddane) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $ddane . "<br>" . $polaczenie->error;
}
//echo($ddane);
    
?>
2

Masz błąd składni polecenia SQL (napisane to masz). Wartości tekstowe wrzucane do bazy musisz mieć ujęte w apostrofy lub cudzysłowy, podobnie daty (tu może być problem z formatowaniem).

Wyświetl sobie co masz w zmiennej $ddane.

0

Faktycznie kompletnie o tym zapomniałem, już działa :x Dziękuje

1 użytkowników online, w tym zalogowanych: 0, gości: 1