PHP ja MySQL - INSERT INTO ongelmia

noobie

jeps. IHan alkuun pitää sanoa että olen totaalinen aloittelija PHP:n kanssa, oon koodannu enemmän ASP:illa (eli jotain käsitystä siitä mitä pitäisi tapahtua). Sain justiin asennettua serverille PHP:n ja MySQL:n (kun nyt piti sitten saada sivut tehtyä PHP:llä) ja tehtyä MySQL:ään tietokannan tietueineen.

Pitäis tehdä formi jolla vois submittaa tietokantaan, mutta kun koitan tuota mitä oon tehny niin MySQL:n admin sanoo ettei siellä ole yhtäkään riviä.

Tän verran oon nyt saanu pähkäiltyä:

8

1905

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • se ok, lisää hihnalla

      tuo äskönen ratkes kun laitoin kaikki tietueen palstat SQL:ään:

      tämän sijasta
      $SQL = "INSERT INTO news(iDate,iTime,iAuthor,iPic,iHeader,iText,iMemo) VALUES('$date','$time','$auth','$pic','$head','$text','$memo')";

      laitoin
      $SQL = "INSERT INTO news(ID,iDate,iTime,iAuthor,iPic,iHeader,iText,iMemo) VALUES('1','$date','$time','$auth','$pic','$head','$text','$memo')";

      Missä tuo ID on mediumint(8), not null, auto increment, unsigned. Ongelma on nyt siinä että se pitäisi saada se numero juoksemaan automaattisesti kun sinne tiatokantaan tyrkkää dataa, eikä niin että se muutetaan koodissa, vai onko se edes mahdollista? Eikös auto increment justiin tarkota sitä et se nostaa sitä automaagisesti? hmpf.. on tääkin.

      Elikkä, jos olis jotain ratkasua tuohon niin olis taas paljon viisaampi.. siis miten sais tuon nomeron juokseen... vai pitääkö se tosiaan ensin käydä lukemassa tietokannasta et mikä se on ja sit lisätä siihen yksi niin että se toimii? o.O

      • flap

        laita vaikka NULL

        $SQL = "INSERT INTO news(ID,iDate,iTime,iAuthor,iPic,iHeader,iText,iMemo) VALUES(NULL,'$date','$time','$auth','$pic','$head','$text','$memo')";


      • noobie
        flap kirjoitti:

        laita vaikka NULL

        $SQL = "INSERT INTO news(ID,iDate,iTime,iAuthor,iPic,iHeader,iText,iMemo) VALUES(NULL,'$date','$time','$auth','$pic','$head','$text','$memo')";

        kun siinä kuitenkin *pitäisi* olla se juokseva numero siellä tietokannassa....

        Ratkaisin sen kuitenkin jo toisella tavalla, eli ensin lukemalla jo olemassaolevan ja lisäämällä siihen yhden. ah, niin aataminaikaista.


      • mysli uuno
        noobie kirjoitti:

        kun siinä kuitenkin *pitäisi* olla se juokseva numero siellä tietokannassa....

        Ratkaisin sen kuitenkin jo toisella tavalla, eli ensin lukemalla jo olemassaolevan ja lisäämällä siihen yhden. ah, niin aataminaikaista.

        Yleensä tällaisissa tapauksissa luodaan sekvenssi ja annetaan id:lle oletusarvoksi sekvenssin seuraava merkki. Eikö tällainen onnistu mysql:ssä?

        Tuolla metodillasi, jossa luet, lasket ja kirjoitat saattaa tulla äkkiä ongelmia päällekkäisten kyselyjen takia. Itse asiassa päällekkäiset kyselyt taitavat rikkoa kantasi rakenteen heti.


      • flap
        noobie kirjoitti:

        kun siinä kuitenkin *pitäisi* olla se juokseva numero siellä tietokannassa....

        Ratkaisin sen kuitenkin jo toisella tavalla, eli ensin lukemalla jo olemassaolevan ja lisäämällä siihen yhden. ah, niin aataminaikaista.

        jos sulla on se id auto_increment niin kyllä se määrää sen arvon siihen automaagisesti jos laitat arvoksi null.. passaa kokeilla..


      • noobie
        flap kirjoitti:

        jos sulla on se id auto_increment niin kyllä se määrää sen arvon siihen automaagisesti jos laitat arvoksi null.. passaa kokeilla..

        Kiitos tuhannesti vinkistä, se toimi.

        Nyt mulla olis lisää ongelmia =P

        Tällanen koodinpätkä tällä kertaa:

                    if ($_POST['delete'] == "pass") {
                       $vID = $_POST['NewsID'];
                       ?>


      • noobie
        noobie kirjoitti:

        Kiitos tuhannesti vinkistä, se toimi.

        Nyt mulla olis lisää ongelmia =P

        Tällanen koodinpätkä tällä kertaa:

                    if ($_POST['delete'] == "pass") {
                       $vID = $_POST['NewsID'];
                       ?>

        Otin tähden pois SQL-lauseesta ja nyt se toimii.

        ennen
        $SQL = "DELETE * FROM news WHERE ID = '$vID'";

        jälkeen
        $SQL = "DELETE FROM news WHERE ID = '$vID'";


      • ---------
        noobie kirjoitti:

        Otin tähden pois SQL-lauseesta ja nyt se toimii.

        ennen
        $SQL = "DELETE * FROM news WHERE ID = '$vID'";

        jälkeen
        $SQL = "DELETE FROM news WHERE ID = '$vID'";

        Toimii noin, mutta missäs se tietoturva on?

        Laita syötteet http://fi.php.net/manual/en/function.mysql-real-escape-string.php läpi ellet muuten tarkasta niit.

        Mitähän tapahtuu jos $vID saakin tämmösen arvon ' AND ID > '0

        Poistetaan ID joka on tyhjä ja lisäksi kaikki joiden ID on suurempa kuin 0, siis kaikki.

        Ja vinkkinä, että kun includetat niin sen voi tehdä suoraan eikä tartte laittaa mitään ylimääräsiä

        Ja selvyyden vuoksi kannattaa kannattaisi tehdä hieman toisin tuo. Otat yhteyden tietokantaan ennen if/else juttuja ja suljet senjälkeen näin ei tartte tupla includeita.

        Lukaseppas http://keskustelu.suomi24.fi/show.fcgi?category=108&conference=500000000000005&posting=22000000016627783 varsinkin se viiminen linkki.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Mihin Ilkka Kanerva kuoli?

      Kun näin jokin aika sitten kuvan riutuneen näköisestä Kanervasta, sanoin vaimolle että haimasyövältä vaikuttaa. Vaimon isä oli kuollut kyseiseen tauti
      Maailman menoa
      263
      16822
    2. Oho! Susanna Laine uudessa hiustyylissä - Julkkismeikkaajalta tiukka palaute: "Ihan sama..."

      Ex-Salkkarit tähti ja juontaja Susanna Laine on monessa mukana. Ex-missi tunnetaan pitkistä, vaaleista hiuksistaan . Mitäs tykkäät uudesta hiustyylist
      Kotimaiset julkkisjuorut
      23
      5414
    3. Ilkka kanerva

      Ilkka Kanerva kuollut 74v
      Turku
      115
      2560
    4. Yllätyspaljastus: Poppari Robin Packalen kiittää urastaan iskelmätähti Juha Tapiota: "Jos mä en..."

      Oi, mikä tarina. Juha Tapio ja Robin ovat kyllä symppiksiä molemmat. Kumpi heistä on suosikkisi? https://www.suomi24.fi/viihde/yllatyspaljastus-poppar
      Kotimaiset julkkisjuorut
      15
      2036
    5. Venäjän lippulaiva Moskva upotettu Mustallamerellä

      Venäjän laivaston lippulaiva Mustalalmerellä on 180 m pituinen, Neuvostoliiton aikana rakennettu Moskva-niminen risteilijä. Ukraina ilmoitti eilen saa
      Maailman menoa
      336
      1755
    6. Pikkaraiskan puhelut

      Mitä tuo jätkä hakee sillä että julkaisee kuinka kauan on puhunut puhelimessa? Tekee itsestään vieläkin idiootimman tuolla vai mikä tää juttu?
      Kotimaiset julkkisjuorut
      111
      986
    7. Ilkka Kanerva on kuollut

      74-vuotiaana.
      Maailman menoa
      59
      948
    8. Hossein Najaf juotti lapset humalaan ja käytti häikäilemättä hyväkseen

      Keski-Suomen käräjäoikeus on tuominnut 60-vuotiaan Hossein Najafin neljän vuoden vankeusrangaistukseen. Ensimmäisen tytön kanssa hän oli useita kerto
      Maailman menoa
      30
      861
    9. Sofia Belorf ja Sonja Aiello

      Viihtyvät yhdessä dinnerillä. Pienet piirit. Mitä ajatuksia herättää ?
      Kotimaiset julkkisjuorut
      43
      856
    Aihe