Új hozzászólás Aktív témák

  • r0by
    addikt

    Hali!
    Nagyon kezdő Mysql-es kérdés, de nem tudok rájönni:
    PHP-val szeretnék az adatbázisba adatot vinni. A lényeg: URL-ben megadok 2 paramétert, a PHP meg beleírja őket a megfelelő helyre.
    A helyzet: egy darab adatbázis (test), localhoston fut a server, egy tábla (kacsa), a táblában 2 oszlop (CRC_ertek, Megoldas). Az url így nézne ki (csak egy példát írtam):
    localhost/ir.php?crc=32121&megoldas=capcarap

    Az ir.php:

    <?php
    $db_host = "localhost";
    $db_user = "root";
    $db_pwd = "root1";
    $db_name = "test";
    mysql_connect($db_host, $db_user, $db_pwd);
    mysql_select_db($db_name);
    $crc=$_GET['crc'];
    $megoldas=$_GET['megoldas'];
    mysql_query("INSERT INTO kacsa (CRC_ertek,Megoldas)
    VALUES($crc,$megoldas);");
    ?>

    A probléma: nem írja bele az adatbázisba a cuccot. Az értékeket rendesen lekapja az url-ből (ellenőriztem, echo-val szépen kiírja őket), de az adatbázisba soha nem kerülnek bele.
    Próbálkoztam már úgyis, hogy a 10., mysql_query-s sort beírtam így:
    $sql=...
    vagy így:
    $valami=mysql_query(...

    De semmi :(

    A baj az, hogy még az sql kódban se vagyok biztos.

    Köszönöm előre is!

    DOMy

    Először is, mindig csinálj ellenőrzést, hogy sikeres-e a query.
    Valszeg a query-d a hibás, mert a crc (bár ez nem feltétlen) is meg a megoldas mezok is sztringek kellenek, hogy legyenek, mert mindketto tartalmazhat vegyesen szamokat és betuket is, így tehát aposztrof koze kell tenni.
    Azonkívül persze az sql tábládnak is igazodnia kell ehez, nyilván int-es mezőre nem megy be a megoldás értéke.
    És persze a VALUES kulcsszo után tehetsz szóközt, mert erre is háklis lehet.
    Korán reggel talán így nézne ki a kód:

    <?php
    $db_host = "localhost";
    $db_user = "root";
    $db_pwd = "root1";
    $db_name = "test";
    mysql_connect($db_host, $db_user, $db_pwd);
    mysql_select_db($db_name);
    $crc=$_GET['crc'];
    $megoldas=$_GET['megoldas'];
    $sql = "INSERT INTO kacsa (CRC_ertek,Megoldas) VALUES ('" . $crc . "','" . $megoldas . "');";
    $eredmeny = mysql_query($sql);
    if(!$eredmeny){die('Arrgh, talán rossz az sql: ' . $sql);}
    else{echo 'Adatrögzítés sikeres';}
    ?>

    Próbáld meg így.

Új hozzászólás Aktív témák