INSERT error

  • Wat is hier de fout, ik heb de query nog een keer na geschreven maar IK kan de fout er niet uithalen.


    PHP
    mysql_query("INSERT INTO messages (to, from, subject, message, date, ip) VALUES ('" . strtolower($_POST['to']) . "', '" . strtolower($information['nickname']) . "', '" . addslashes($_POST['subject']) . "', '" . addslashes($_POST['message']) . "', '" . time() . "', '" . $_SERVER['REMOTE_ADDR'] . "')") or die(mysql_error());


    De message tabel is:



    EDIT:


    De error is:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'to, from, subject, message, date, ip) VALUES ('demo', 'jackie', 'Test bericht', ' at line 1

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Vervang


    PHP
    time()


    door:

    PHP
    $time


    En dan een varible erboven:

    PHP
    $time = date('Y-m-d H:i:s');




    Edit:
    en verander de int(50) gewoon in datetime

    PHP
    `date` int(50) NOT NULL,

    This is ten percent luck, twenty percent skill
    Fifteen percent concentrated power of will
    Five percent pleasure, fifty percent pain
    And a hundred percent reason to remember the name!

  • Dat betekend dat de engine MyISAM etc,etc.


    De tabel is goed alleen die mysql query is fout, dat heeft ie ook aan!

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Verander ten eerste je varchar van to en from naar iets van 50.
    Aangezien je toch wel mensen tegen kom die een grotere naam gan nemen.
    ik ben zelf voorstander van id's aangezien als je een naam aanpast veel werk moet verrichten om het overal te fixen.


    Volgens mij is er iets fouts in je php code.
    Mag ik je script even zien?

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • zoals de error zegt, je bent iets vergeten, hij wilt vna jou 6 dingen weten, terwel jij er maar 3 geeft.
    hij wilt weten: to, from, subject, message, date, ip


    en jij geeft dit: 'demo', 'jackie', 'Test bericht',
    probeer het nog een keer, maar doe het dn zo,
    'demo', 'jackie', 'test bericht', 'hallo', '00-00-000 00:00', '127.0.0.1'

  • Probeer zo eens:

    PHP
    mysql_query("INSERT INTO messages (to, from, subject, message, date, ip) 
    VALUES ('".strtolower($_POST['to'])."', '".strtolower($information['nickname'])."', 
    '".addslashes($_POST['subject'])."', '".addslashes($_POST['message'])."', NOW(), 
    '".$_SERVER['REMOTE_ADDR']."')") or die(mysql_error());


    Je moet een query op meerdere regels verspreiden, om te zien welke regel er verkeerd is ;)
    Anders geeft ie altijd regel 1 aan etc.
    Nu moet je alleen even date veranderen in DATETIME.
    (als je dat nog niet had)


    Lars

  • Ik snap trouwens niet waarom je per see die functie now moet gebruiken hoor.
    Het makkelijkste en beste is gewoon echt time() of mktime().
    Krijg je alleen maar cijfers en scheelt weer laad werk als je grotere site hebt. Int word namelijk sneller gepakt.


    Ten tweede kan je het mooi gebruiken voor vergelijkingen als bijv date kleiner is als time zulke dingen.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • MySQL heeft hele handige functies wat betreft data, NielsB. Zo kan je BETWEEN _ AND _ gebruiken, met UNIX_TIMESTAMP de datum omvormen naar integers als je dat nog zou willen, makkelijk op jaar/maand selecteren (respectievelijk WHERE YEAR(date) = 2008 en WHERE MONTH(date) = 12), etc. Het is alleen even wennen, maar zeker de moeite waard om jezelf in te verdiepen :)


    Jackie, waarom gebruik je bij $_POST['to'] alleen [func]strtolower[/func], en geen [func]mysql_real_escape_string[/func] of [func]addslashes[/func]? Persoonlijk gezien heb ik meer vertrouwen in veilige input als ik functies gebruik die ervoor gemaakt zijn, zoals mysql_real_escape_string dus :) Verder ga ik mee in larsisgoed9's query; in dit soort opmaak is je code veel overzichtelijker. Ook raad ik je aan om bepaalde waardes te echo'en, zeker weten of ze bevatten wat ze moeten bevatten. :) Succes!

  • [offtopic] Jannick, leuk en aardig maar je denkt toch niet serieus dat ik bepaalde functies niet ken? Ik gebruik zelf nooit omdat het ook de manier is hoe je programmeert. Als ik meerdere dingen uit me query nodig heb ga ik niet overbodig die dingen gebruiken waardoor je meerdere querys moet maken. ;)


    maar ik snap je punt wel ongeveer hoor, maar jij snapt denk ook wel mijn punt over de integer en varchar?
    [/offtopic]


    Als het nog niet wil werken zie ik graag een deel php code van je formulier en php checks.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • NielsB dat heb ik expres gedaan omdat de gebruikersnamen niet langen dan 16 letters/cijfers mogen zijn.


    Jannick Waarom zou ik addslashes gebruiken in een gebuikersnaam er komen geen " in voor, en ook een html tekens.


    @All


    Ik post me script wel!


    EDIT;
    Het script


    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Ok waar haalt hij eigenlijk $information['nickname'] vandaan?
    doe is het volgende:

    PHP
    echo $information['nickname'];
    die();


    Wil weten wat hij daar weergeeft , kan natuurlijkdat het daar fout gaat. ;)

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • ALS je bent ingelogt haalt hij uit de config $information;


    PHP
    $dbresults = mysql_query("SELECT * FROM members WHERE nickname = '" . $_SESSION['nickname'] . "'");
    $information = mysql_fetch_assoc($dbresults);

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!